自学内容网 自学内容网

git error: You have not concluded your merge (MERGE_HEAD exists).

本地作了修改并提交远程,但管理员并未合并。此时本地又作了修改,而管理员合并了其它分支,且这个合并分支同时修改了当前本地分支共同的文件。本着提交前同步最新远程代码的原则,结果在合并远程分支时冲突了。其实解决这个冲突再合并也容易,只是因修改较多,冲突提示得不太明了,担心改错。好在修改过的子分支还存在,于时就先合并远程分支,再合并本地分支。


解释:

    错误表明正在尝试进行一个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                  # 提交


原文地址:https://blog.csdn.net/xiaozhiwise/article/details/142884796

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!