无法修复git状态下的错误对象头错误

无法修复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 我仍然可以提

推动回购时,我的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的状态

安迪的想法


如果您的
.git/HEAD
已损坏或指向损坏的对象,请感谢,您可以手动更改它,也可以通过git checkout在git状态之前使用git add filepath/file.ext尝试添加所有修改过的文件。

我想您已经解决了这个问题,但我已经解决了这个问题,只需运行即可解决

git pull
这导致了一种工作状态。即使您的文件完好无损,您也应该备份本地git目录,然后运行git pull。在那之后,你应该重新开始工作


如果有文件被删除(不应该发生),您可以通过工作签出将它们复制回来并从那里提交。

当我不小心在Eclipse Java项目中添加了bin/文件夹时,我就遇到了这种情况

使用“git-pull”对我不起作用

我通过以下方式修复了它:

  • 日食结束
  • rm-rf箱
  • 吉特rm箱
  • 然后我就可以“git commit”并正常继续了。

    这对我来说很有效:

    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更改,然后才能使用它。谢谢。这将删除您开发的所有代码,并重置为初始状态。您可能最终会丢失代码。