有人可以帮我解决这个问题。我之前发过一篇关于此的帖子,但我无法通过这些答案解决这个问题。请帮助:)
我试图运行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
答案 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 14886b4见commit 8c845cd,Johannes Schindelin (dscho
)(2015年9月28日)
(Junio C Hamano -- gitster
--在commit 1018f3e合并,2015年10月15日)
&#34;
git gc
&#34;当符号引用已经消失时(例如,当你克隆它时,曾经是你的上游默认的分支现在已经消失了,你做了&#34;fetch --prune
&#34; )。
更确切地说:
例如,很可能远程HEAD被破坏,例如重命名默认分支时。
pack-objects
:不要被破碎的symrefs分散注意力当发生这样的事情时,我们仍然能够收拾物品;简单地忽略破碎的symrefs(因为它们对包装无关紧要 过程无论如何)。
答案 3 :(得分:-6)
由于git对象存在一些问题,我遇到了同样的问题。修复它们的唯一方法是在不同的文件夹中执行git克隆,然后在旧文件夹中复制粘贴。
如果我找到不同的解决方案,我会告诉你的。
此致