手动分辨率

在执行 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 完成合并。