Git reset =致命:无法读取树

dou*_*ack 8 git

有人在错误的分支上提交了一个提交,所以我试图将提交移动到另一个分支.当我尝试回滚提交时,我收到此错误:

[user@server gitrepo]$ git reset --hard 9c2de3c0
fatal: unable to read tree 9c2de3c0af09fc07a84ff84b594beb5a6d489181
Run Code Online (Sandbox Code Playgroud)

该对象看起来很好:

[user@server gitrepo]$ ls objects/9c/2de3c* -al
-r--r--r-- 1 git git 222 Aug 28 12:09 objects/9c/2de3c0af09fc07a84ff84b594beb5a6d489181
Run Code Online (Sandbox Code Playgroud)

为什么不能读取这个对象,我该怎么做呢?

编辑:将我的问题与其他人区分开来:

  • Git的数据库中不出现是特别不舒服.跑步git fsck -full只显示几个(约20个)悬空斑点和一个悬空提交.这似乎并不特别令人担忧.

小智 2

我也有同样的问题。通过检查并修复磁盘解决了这个问题。一些文件已损坏。