You have not concluded your merge (MERGE_HEAD exists) git拉取失败(旧链接整理)
· 阅读需 2 分钟
旧链接说明:本文保留历史访问路径,主题内容以当前主文版本为准,这里主要用于兼容旧链接和归档检索。
今天获取git线上仓库代码报了这个错误:
zhangzhi@moke:~/code/ktsg-api$ git pull
You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.
错误可能是因为在你以前pull下来的代码没有自动合并导致的.
有2个解决办法:
1.保留你本地的修改
git merge --abort
git reset --merge
合并后记得一定要提交这个本地的合并
然后在获取线上仓库
git pull
2.down下线上代码版本,抛弃本地的修改
不建议这样做,但是如果你本地修改不大,或者自己有一份备份留存,可以直接用线上最新版本覆盖到本地
git fetch --all
git reset --hard origin/master
git fetch
当然还有一个最笨的方法,就是重新clone一份代码,抛弃这个工作目录,哈哈,开玩笑.
这类工具技巧真正有价值的是把排错路径缩短
「You have not concluded your merge (MERGE_HEAD exists) git拉取失败」这类文章看起来像一个小技巧,但它真正值钱的地方,在于帮你更快找到问题所在。很多编辑器、Git 或系统工具问题都不是概念复杂,而是第一次出错时缺少判断顺序,结果在错误方向上反复试。只要把“先看什么、再改什么、改完怎么确认”这条路径补完整,短文章也会更像一篇能反复回看的工作笔记。
下次再遇到时我会怎么判断
- 先确认症状是配置问题、状态残留,还是工具本身的默认行为,不要一上来就重装或删文件。
- 每改一项设置都要有对应的验证动作,确保最后留下的是可复现的解决路径,而不是碰巧恢复。
- 如果一个技巧会影响团队其他人的默认工作流,最好顺手补一句适用边界,避免它变成新的坑。
