自从转到iOS开发之后一直都是单枪匹马, 基本上不存在代码冲突问题, 最近来了个帮手,代码冲突是不可避免的, 之前做Linux开发的时候用
Beyond Compare
居多,OSX
上没怎么用过,趁这个机会整理下,目的在于更直观的解决团队开发的时候出现的合并冲突.
Git
Xcode
集成了Git, 所以如果有安装了Xcode即可直接在终端中使用git 命令,查看git 版本信息
$git --version
git version 2.5.4 (Apple Git-61)
如果没有安装git 根据提示信息安装即可
Beyond Compare
官网上的版本目前是4.+版本,下载直接安装即可,传送门:Beyond Compare
配置
Beyond Compare设置
打开 Beyond Compare -> Beyond Compare Menu ->*** Install Command Line Tools***
必须要安装Beyond Compare 命令工具,否则会报错,类似:
The diff tool bc3 is not available as 'bcompare'
fatal: external diff died, stopping at plugins/PushPlugin.m
Git config
检查git的版本,根据版本的不同选不同的方法进行设置,本文是基于****Git 2.3+****版本操作,2.3以下的版本可以参考 Beyond Compare官网上的其他版本控制配置方法
Diff
切换到终端:
git config --global diff.tool bc3
当需要比较修改的时候,在终端中直接输入git difftool file.ext
就可以唤起****Beyond Compare****
Merge
切换到终端:
git config --global merge.tool bc3
git config --global mergetool.bc3 trustExitCode true
当代码发生冲突的时候,在终端中使用 git mergetool <conflict file>
即可唤起****Beyond Compare****,可谓是十分强大.随意感受一下
注意
在使用git megetool
来解决冲突后,会生成 备份文件 (*.orig),大多数情况下不是我们想要的,在终端中配置:
git config --global mergetool.keepBackup false
这样就不会每次在解决冲突后生成对应的 .orig文件了.