開發團隊在實作各種不同的功能時,版本衝突是肯定會遇到的一種情況,除了慢慢修正一個接一個的 conflict 之外,本文介紹 2 種可以省時費力的解決方法。
–theirs, –ours 參數
在十分確定衝突的版本必須以對方的版本為準時,可以使用以下指令: :
$ git checkout --theirs <conflict file 1> <conflict file 2> ...
上述的指令顧名思義就是 把有衝突的檔案還原成對方的版本 。
反之,如果要以我們自己的版本為準,就可以改用 --ours
:
$ git checkout --ours <conflict file 1> <conflict file 2> ...
以遠端分支為準,解決版本衝突
此外,在 pull remote branch 遇到版本衝突時,如果在十分確定以遠端分支為準時,可以使用以下指令:
$ git checkout origin/<branch> <conflict file 1> <conflict file 2> ...
例如:
$ git checkout origin/master hello.c
上述的指令就是將有衝突的檔案 hello.c
,還原成遠端 origin/master
分支的版本,藉此解決 conflict 。