Git 报 “error: You have not concluded your merge (MERGE_HEAD exists).” 的解决方案


问题描述:

在使用 git pull 命令时,如果出现如下错误


                    error: You have not concluded your merge (MERGE_HEAD exists).
                    hint: Please, commit your changes before merging.
                    fatal: Exiting because of unfinished merge.
                

原因是上一次拉取的代码有冲突,没有执行自动合并。然后在冲突状态没有得到解决之前,你又再次进行拉取,就会报这个错误

尽管有时候 git 提示代码有冲突,但却没有检测到任何代码变更,此时也要提交合并,否则也会让冲突处于未解决状态,导致下一次再执行 git pull 时就会出现该错误

解决办法:

1.依次执行下面命令去撤销上一次的合并


                    git merge --abort 
                    git reset --merge
                

2.如果有冲突就把冲突解决掉(不要忘了提交合并)

3.再次执行命令 git pull,此时命令就应该正常执行,不会再报这个错误了

其他方案

如果你确定已解决了所有的冲突,可以执行命令:


                    rm -rf .git/MERGE*
                

再次执行 git pull,也不会出现该错误了