错误:致命的松散对象###(存储在.git / objects / ....中已损坏)

时间:2011-07-26 17:19:07

标签: git gitk

我像往常一样点燃了gitk,但这次我收到了致命的错误消息:

fatal: loose object 58008283f6ad152ac44a1b6da961795ababe5b93 (stored in .git/objects/58/008283f6ad152ac44a1b6da961795ababe5b93) is corrupt
fatal: loose object 58008283f6ad152ac44a1b6da961795ababe5b93 (stored in .git/objects/58/008283f6ad152ac44a1b6da961795ababe5b93) is corrupt
    while executing
"close $gdtf"
    (procedure "gettreediffline" line 36)
    invoked from within
"gettreediffline file1071e148 58008283f6ad152ac44a1b6da961795ababe5b93"
    ("eval" body line 1)
    invoked from within
"eval $script"
    (procedure "dorunq" line 11)
    invoked from within
"dorunq"
    ("after" script)

我在错误消息框中单击“确定”,退出gitk,然后再次启动gitk - 这次出现时没有任何错误(与往常一样)。

这个错误是什么意思,我为什么收到它?

我应该开始担心我的存储库的完整性吗? (此时仍在本地,在.git子目录中)

更新:我刚刚按照以下建议运行了git fsck,我得到了:

git fsck
dangling blob 6302f0a93a8d793b473e1a1976f221827b595ed7
dangling blob 5246a9d7408b1d5d01e9c471a67c1f0866f0d626
dangling blob ec08d18657f37e5bbdbebc7dc25615037b532463
dangling blob 8b69b97bdc45f3c86405f67a5f396d122408ad64
dangling blob aa39e78673ec3f2cb575798be1d2b4555c637475
  1. “悬空blob”是什么意思?
  2. 怎么会发生这种情况?
  3. 有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

由于git fsck很干净,你不再看到错误,我冒昧地猜测内存中有一些损坏。

我知道你说过你只是在本地工作并且不想分享,但是备份至少在不同的磁盘上,最好是不同的物理位置仍然是个好主意。如果您不介意您的项目是开源的,您可以使用github或免费。

Links on backing up a git repo