2
fatal: Duplicated ref, and SHA1s don't match: refs/heads/BranchName

我应该注意到我在 Ubuntu Lucid 上,这与一些文件系统注释相关。

我在本地主机上执行 git pull origin master 后立即收到此错误。很平常的事情。拉动本身似乎有效,我看到了所有被拉下的文件的列表。但在那之后就什么都没有了。

我查看了关于 SO 的其他一些答案,但它们都涉及运行 git 命令。此时我无法运行任何 git 命令,包括 fsck。我只是得到同样的信息。有人建议我删除 .git/refs/heads/BranchName 但它没有用。虽然我看到了一件有趣的事情:/refs/heads 中唯一的东西是坏分支,带有 ? 最后(可能是一些未知字符)。那里没有列出其他分支机构。

过去我遇到过 git fsck 会失败的问题,然后又神奇地又好了。听起来很像 HD 失败,但 smartctl 的长期测试告诉我之前发生的情况并没有什么不好。我刚刚尝试了快速状态检查,它似乎仍然很好。

没什么大不了的,我可以重新克隆。我并没有失去太多。但是把它拿回来会很好,也可以在这里为遇到同样问题的其他人提供这个。

谢谢。

4

1 回答 1

3

我设法重现了这个问题:该文件.git/packed-refs有两个条目refs/heads/BranchName,它们有不同的 SHA,git 不知道哪个是正确的,并且给你留下了那个致命的错误。

删除其中一个以解决冲突,您的BranchName分支可能最终指向不存在的提交,但您将能够再次运行 git 命令。

于 2012-04-11T17:37:42.703 回答