本地作了修改并提交远程,但管理员并未合并。此时本地又作了修改,而管理员合并了其它分支,且这个合并分支同时修改了当前本地分支共同的文件。本着提交前同步最新远程代码的原则,结果在合并远程分支时冲突了。其实解决这个冲突再合并也容易,只是因修改较多,冲突提示得不太明了,担心改错。好在修改过的子分支还存在,于时就先合并远程分支,再合并本地分支。
解释:
错误表明正在尝试进行一个git操作,但是工作目录中存在一个未完成的合并过程。MERGE_HEAD是git在进行合并操作时创建的一个指针,如果这个文件存在,git认为工作目录仍然处于合并状态。
操作指引:
如果想要取消合并,使用 git merge --abort 命令。
如果合并操作出现问题,使用 git status 的输出来理解发生了什么,并根据输出中的提示来解决合并冲突。
如果确定不需要任何合并的更改,可以使用 git reset HEAD~ 来硬重置到合并前的状态。注意这个操作不会丢失本地更改。
解决方法
1.git reset HEAD~ # 恢复为合并前的分支
2.git fetch
3.git merge # 更新为远程最新分支
4.git cherry-pick 3db5e173 # 再合并改过的本地分支
5.git push # 解决冲突提交