Git reset=fatal:无法读取树

Git reset=fatal:无法读取树,git,Git,有人在错误的分支上做出了承诺,所以我尝试了。当我尝试回滚提交时,出现以下错误: [user@server gitrepo]$ git reset --hard 9c2de3c0 fatal: unable to read tree 9c2de3c0af09fc07a84ff84b594beb5a6d489181 对象看起来很好: [user@server gitrepo]$ ls objects/9c/2de3c* -al -r--r--r-- 1 git git 222 Aug 28 12:

有人在错误的分支上做出了承诺,所以我尝试了。当我尝试回滚提交时,出现以下错误:

[user@server gitrepo]$ git reset --hard 9c2de3c0
fatal: unable to read tree 9c2de3c0af09fc07a84ff84b594beb5a6d489181
对象看起来很好:

[user@server gitrepo]$ ls objects/9c/2de3c* -al
-r--r--r-- 1 git git 222 Aug 28 12:09 objects/9c/2de3c0af09fc07a84ff84b594beb5a6d489181
为什么它不能读取这个对象,我该怎么办

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

  • Git的数据库看起来并不是特别不正常。运行
    git fsck-full
    只会显示几个(~20)个挂起的blob和一个挂起的commit。其中

    • 我也有同样的问题。通过检查和修复磁盘解决了此问题。一些文件被破坏。

      @Gabriele:我看了那篇文章,但是这个问题和它的答案都与提交的
      断开的链接有关。当我运行
      git fsck
      .1)git cat file-t 9c2de3c0
      时,我没有这样的错误?2)
      git cat文件-p 9c2de3c0
      显示了什么?(我怀疑至少有一个会失败,但值得一试)@torek-1)
      git cat file-t9c2de3c0
      ='commit'2)
      git cat file-p9c2de3c0
      =我的消息,'MODULE:added similarterms(MM)'Hm,“树”和“父”部分(在
      -p
      输出中)呢?如果你按照那些身份证做,它们会起作用吗?你按照了吗?