无法修复git状态下的错误对象头错误
推动回购时,我的macbook上的电池没电了。 现在我无法运行无法修复git状态下的错误对象头错误,git,Git,推动回购时,我的macbook上的电池没电了。 现在我无法运行git status $ git status fatal: bad object HEAD fatal: git status --porcelain failed 我尝试了一些我发现的修复坏对象错误的建议 $ git fsck --full dangling tree 65e856976b7aa7c73f15cd71defedb8a3d622a10 我尝试了git-prune和git-prune-packeted 我仍然可以提
git status
$ git status
fatal: bad object HEAD
fatal: git status --porcelain failed
我尝试了一些我发现的修复坏对象错误的建议
$ git fsck --full
dangling tree 65e856976b7aa7c73f15cd71defedb8a3d622a10
我尝试了git-prune
和git-prune-packeted
我仍然可以提交、隐藏、推送,这似乎只是影响git的状态
安迪的想法
如果您的
.git/HEAD
已损坏或指向损坏的对象,请感谢,您可以手动更改它,也可以通过git checkout在git状态之前使用git add filepath/file.ext尝试添加所有修改过的文件。我想您已经解决了这个问题,但我已经解决了这个问题,只需运行即可解决
git pull
这导致了一种工作状态。即使您的文件完好无损,您也应该备份本地git目录,然后运行git pull。在那之后,你应该重新开始工作
如果有文件被删除(不应该发生),您可以通过工作签出将它们复制回来并从那里提交。当我不小心在Eclipse Java项目中添加了bin/文件夹时,我就遇到了这种情况 使用“git-pull”对我不起作用 我通过以下方式修复了它:
git fetch origin
git reset --hard origin/master
git fetch origin
git reset --soft origin/master
git checkout-f*branchname*
对我有效。我也有同样的问题,这对我有效:
git fetch origin
git reset --hard origin/master
git fetch origin
git reset --soft origin/master
嗨,我试过了,没什么区别。HEAD指向refs/heads/master尽管refs/heads/master不存在。因此您需要签出一个真正的分支(和/或还原
refs/heads/master
,如果它存在)。不过请注意,现在refs通常位于.git/packed refs
中。我已经用正确的sha还原了refs/heads/master,仍然是相同的错误。运行checkout
t时出现相同错误我已尝试从精确的工作版本还原.git文件夹,但仍然收到相同的错误。。。很奇怪,我也有同样的问题。谢谢你的解决方案!这对我来说很有效,但必须先git隐藏
local更改,然后才能使用它。谢谢。这将删除您开发的所有代码,并重置为初始状态。您可能最终会丢失代码。