GIT:与主分支合并时MERGE_HEAD文件损坏

4

当我试图从GitHub合并master分支时,遇到了许多冲突。我已经解决了所有的冲突并尝试进行提交。但是我收到了以下消息:

fatal: Corrupt MERGE_HEAD file (0da861af91a7df624577f1aa4ee0716b3dffa4af)

我尝试使用GUI模式时,收到了“HEAD文件不存在”的消息。 我已经添加了如下截图:

enter image description here

现在我很困惑该如何解决! 我在Google和Stack Overflow上搜索过,但没有找到任何解决方案。 请帮帮我。


1
你看过这个问题吗?https://dev59.com/SV7Va4cB1Zd3GeqPJWry - ComFreek
3个回答

6
我不确定是什么原因导致了这个问题,但对我有用的方法是使用git stash暂存所有内容,然后通过git stash pop重新获取所有内容,之后我就可以再次提交合并的更改(我猜想stash/pop会重置HEAD和合并状态,替换掉被损坏的文件)。唯一的缺点是你将失去包含合并冲突列表的默认提交消息,如果你确实想使用它,最好先复制粘贴到其他地方。

如果想要简单地重置合并状态,另一个选择是删除任何.git/MERGE_*文件。 - fzbd
这是对我有效的解决方案。之后我必须调用 git add . - hvb

0

当处于合并冲突的情况下,第一步是解决冲突,然后将文件添加到暂存区。通常这些步骤最好通过命令行执行。

如果所有文件都已编辑和解决,请使用命令行,在项目的根目录下运行:

git add .

接下来,通过检查存储库的状态来验证所有文件是否已被暂存:

git status

通过提交来完成合并:

git commit -m'<your message>'


我有同样的问题。这不是合并冲突,这是更严重的问题。当我第一次从上游拉取git子树,然后变基远程时遇到了这个问题。 - huggie

0

可能是在拉取/推送时发生了一些问题。我通过重置 HEAD 来解决这个问题。git reset HEAD^1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接