手动分辨率
在执行 git merge
时,你可能会发现 git 报告合并冲突错误。它会向你报告哪些文件存在冲突,你需要解决冲突。
任何一点上的 git status
都可以帮助你看到还需要编辑的内容,如有用的消息
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: index.html
no changes added to commit (use "git add" and/or "git commit -a")
Git 在文件中留下标记,告诉你冲突发生在哪里:
<<<<<<<<< HEAD: index.html #indicates the state of your current branch
<div id="footer">contact : email@somedomain.com</div>
========= #indicates break between conflicts
<div id="footer">
please contact us at email@somedomain.com
</div>
>>>>>>>>> iss2: index.html #indicates the state of the other branch (iss2)
为了解决冲突,你必须适当地编辑<<<<<<和>>>>>>>标记之间的区域,删除状态行(<<<<<<<, >>>>> >>,和========完全。然后 git add index.html
标记它已解决,git commit
完成合并。