跳到主要内容

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 或系统工具问题都不是概念复杂,而是第一次出错时缺少判断顺序,结果在错误方向上反复试。只要把“先看什么、再改什么、改完怎么确认”这条路径补完整,短文章也会更像一篇能反复回看的工作笔记。

下次再遇到时我会怎么判断

  • 先确认症状是配置问题、状态残留,还是工具本身的默认行为,不要一上来就重装或删文件。
  • 每改一项设置都要有对应的验证动作,确保最后留下的是可复现的解决路径,而不是碰巧恢复。
  • 如果一个技巧会影响团队其他人的默认工作流,最好顺手补一句适用边界,避免它变成新的坑。