Git二進制文件沖突解決
在我們合並分支的時候,如果兩個分支都進行了修改那么就會產生合並沖突。對於非二進制文件的沖突解決,git會給出沖突的位置我們可以手動修改然后再commit。但是對於非二進制文件無法手動編輯,我們只能用下面的辦法取其中的一個版本。
git checkout FILE --ours{--theirs}
--ours 表示檢出當前分支,即合並后保存當前分支的改動而丟棄另外一個分支的改動。
--theirs 表示檢出另外一個分支,即保存另外一個分支的改動丟棄當前分支的改動。
比如,有兩個均進行修改了的分支A,B。假設我們當前在A分支需要將B分支合並到A上。此時有一個文件test.docx都被兩個分支修改了。沖突解決過程如下:
$ git merge B #試圖將B分支合並到A分支上,會提示test.docx合並沖突
$ git checkout test.docx --ours #保留A分支(當前分支)上的改動
$ git add test.docx #提交改動后的文件
$ git commit -m "解決了test.docx上的沖突,保留了A分支改動"
