Conflict 产生原因
当两个版本的同一文件之间的合并不能干净的执行时,就会产生合并冲突。
大多数情况下,Git可以自动完成合并,但有时却不行。例如,如果我们在新功能分支中更改了一行,但该行也在主分支中更改,Git不知道哪一行可以接受。当发生这种情况时,需要有人手动告诉Git使用哪个版本的,这会产生合并冲突。
例如合并 master
分支到 dev
:
a.txt文件产生冲突了:
<<<<<<< HEAD
dev modify
=======
master modify
>>>>>>> master
HEAD
和 ======
之间的版本是当前分支dev
的修改
======
和 master
之间的版本是master
分支的修改
修复冲突,手动保留某一个版本,如下:
dev modify
提交冲突解决
git add a.txt
git commit -m "Merge master fixed conflict."