Git reset = fatal: unable to read tree

Someone made a commit on the wrong branch so I tried to move the commit to another branch. When I tried to roll back the commit, I got this error:

[user@server gitrepo]$ git reset --hard 9c2de3c0
fatal: unable to read tree 9c2de3c0af09fc07a84ff84b594beb5a6d489181

The object looks fine:

[user@server gitrepo]$ ls objects/9c/2de3c* -al
-r--r--r-- 1 git git 222 Aug 28 12:09 objects/9c/2de3c0af09fc07a84ff84b594beb5a6d489181

Why can't it read this object, and what do I do about that?

Edit: to distinguish my problem from others:

  • Git's database doesn't appear to be particularly out of sorts. Running git fsck -full shows only a few (~20) dangling blobs and one dangling commit. Which does not seem particularly alarming.

  • I've got the same problem. Solved it by checking and fixing disk. Some files were corrupted.

    链接地址: http://www.djcxy.com/p/4308.html

    上一篇: Unix命令在服务器上工作,但不在ruby ssh会话中

    下一篇: Git reset =致命:无法读取树