4

我只是像往常一样开火,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)

我在错误消息框上单击 OK,exited gitk,然后gitk重新开始——这次它没有任何错误出现(就像往常一样)。

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

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

更新:我只是git fsck按照下面的建议运行,我得到了:

git fsck
dangling blob 6302f0a93a8d793b473e1a1976f221827b595ed7
dangling blob 5246a9d7408b1d5d01e9c471a67c1f0866f0d626
dangling blob ec08d18657f37e5bbdbebc7dc25615037b532463
dangling blob 8b69b97bdc45f3c86405f67a5f396d122408ad64
dangling blob aa39e78673ec3f2cb575798be1d2b4555c637475
  1. “悬垂的斑点”是什么意思?
  2. 这怎么可能发生?
  3. 有没有办法解决这个问题?
4

1 回答 1

3

由于git fsck是干净的并且您不再看到错误,因此我冒昧地猜测内存中存在一些损坏。

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

备份 git repo 的链接

于 2011-07-26T19:12:56.373 回答