自從轉(zhuǎn)到iOS開發(fā)之后一直都是單槍匹馬, 基本上不存在代碼沖突問題, 最近來了個(gè)幫手,代碼沖突是不可避免的, 之前做Linux開發(fā)的時(shí)候用
Beyond Compare居多,OSX上沒怎么用過,趁這個(gè)機(jī)會整理下,目的在于更直觀的解決團(tuán)隊(duì)開發(fā)的時(shí)候出現(xiàn)的合并沖突.
Git
Xcode 集成了Git, 所以如果有安裝了Xcode即可直接在終端中使用git 命令,查看git 版本信息
$git --version
git version 2.5.4 (Apple Git-61)
如果沒有安裝git 根據(jù)提示信息安裝即可
Beyond Compare
官網(wǎng)上的版本目前是4.+版本,下載直接安裝即可,傳送門:Beyond Compare
配置
Beyond Compare設(shè)置
打開 Beyond Compare -> Beyond Compare Menu ->*** Install Command Line Tools***
必須要安裝Beyond Compare 命令工具,否則會報(bào)錯(cuò),類似:
The diff tool bc3 is not available as 'bcompare'
fatal: external diff died, stopping at plugins/PushPlugin.m
Git config
檢查git的版本,根據(jù)版本的不同選不同的方法進(jìn)行設(shè)置,本文是基于****Git 2.3+****版本操作,2.3以下的版本可以參考 Beyond Compare官網(wǎng)上的其他版本控制配置方法
Diff
切換到終端:
git config --global diff.tool bc3
當(dāng)需要比較修改的時(shí)候,在終端中直接輸入git difftool file.ext 就可以喚起****Beyond Compare****
Merge
切換到終端:
git config --global merge.tool bc3
git config --global mergetool.bc3 trustExitCode true
當(dāng)代碼發(fā)生沖突的時(shí)候,在終端中使用 git mergetool <conflict file> 即可喚起****Beyond Compare****,可謂是十分強(qiáng)大.隨意感受一下

注意
在使用git megetool 來解決沖突后,會生成 備份文件 (*.orig),大多數(shù)情況下不是我們想要的,在終端中配置:
git config --global mergetool.keepBackup false
這樣就不會每次在解決沖突后生成對應(yīng)的 .orig文件了.