不能修复坏的对象头部错误与git状态



我的macbook在push repo时没电了。现在我不能运行git status

$ git status
fatal: bad object HEAD
fatal: git status --porcelain failed

我已经尝试了一些修复坏对象错误的建议。

$ git fsck --full
dangling tree 65e856976b7aa7c73f15cd71defedb8a3d622a10

我试过git prunegit prune-packed

我仍然可以提交,存储,推送,似乎只是影响git状态

安迪的想法吗?

谢谢

我想你已经解决了这个问题,但我有这个,可以修复它简单地运行

git pull

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

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

如果您的.git/HEAD损坏或指向损坏的对象,您可以手动或通过git checkout更改它。

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

使用'git pull'不适合我。

我通过:

  1. 关闭Eclipse
  2. rm -rf bingit rm bin

然后我可以'git commit'并正常继续。

这对我有用:

git fetch origin
git reset --hard origin/master

我有同样的问题,这对我有用:

git fetch origin
git reset --soft origin/master

尝试在git状态之前添加git add filepath/file.ext

git checkout -f *branchname*为我工作

最新更新