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分支改动"