致命的:坏对象HEAD

时间:2014-09-11 21:34:46

标签: git

有人可以帮我解决这个问题。我之前发过一篇关于此的帖子,但我无法通过这些答案解决这个问题。请帮助:)

我试图运行git fsck --full并得到:

Checking object directories: 100% (256/256), done.
error: HEAD: invalid sha1 pointer 15044de63184bed22f9be9f48fd63a3a7652eea4
error: refs/heads/master does not point to a valid object!
notice: No default references
dangling blob f4ffb48ece75b45ec593146216a2ecae5a5b2194
dangling blob f37ffd41d80a2d07258d0b8fa7118d236d480fc0
dangling blob f1ff1fa538a538d9085e573f60ad11e8e7f5395e
dangling blob f9ff6bdaf08fdbf9001ff44d2aa1a49092c20ad1
dangling blob f97f1a223ef3ca33f55d51ae25d98d3b5b2f9ece

4 个答案:

答案 0 :(得分:18)

就我而言,我编辑了.git/refs/remotes/origin/HEAD。我无法让git update-ref工作,但这似乎是推荐的方式。

因此,如果git checkout (<branch> | <commit>)不起作用,您应尝试使用git update-ref HEAD ref:master或尝试编辑.git/HEAD

答案 1 :(得分:10)

我遇到了同样的问题。只需执行git pull origin master修复它,就可以完整保留本地编辑内容。

答案 2 :(得分:3)

&#34;无效的sha1指针&#34;结合使用git gc之前(git for windows issue 423

git 2.7(2015年第4季度)将解决这个问题:

commit 14886b4commit 8c845cdJohannes Schindelin (dscho)(2015年9月28日) Junio C Hamano -- gitster --commit 1018f3e合并,2015年10月15日)

  

&#34; git gc&#34;当符号引用已经消失时(例如,当你克隆它时,曾经是你的上游默认的分支现在已经消失了,你做了&#34; fetch --prune&#34; )。

更确切地说:

  

pack-objects:不要被破碎的symrefs分散注意力

     例如,很可能远程HEAD被破坏,例如重命名默认分支时。

     

当发生这样的事情时,我们仍然能够收拾物品;简单地忽略破碎的symrefs(因为它们对包装无关紧要   过程无论如何)。

答案 3 :(得分:-6)

由于git对象存在一些问题,我遇到了同样的问题。修复它们的唯一方法是在不同的文件夹中执行git克隆,然后在旧文件夹中复制粘贴。

如果我找到不同的解决方案,我会告诉你的。

此致