git - 错误 : fatal loose object ### (stored in . git/objects/.... 已损坏)

标签 git gitk

我像往常一样启动了 gitk 但这次我收到一条 fatal error 消息:

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. 有办法解决这个问题吗?

最佳答案

由于 git fsck 是干净的并且您不再看到错误,我敢猜测内存中有一些损坏。

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

Links on backing up a git repo

关于git - 错误 : fatal loose object ### (stored in . git/objects/.... 已损坏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6833959/

相关文章:

git - 删除git中的分支会导致gitk疯狂

git - .gitignore 工作错误, checkout 分支时文件消失

git - 在 Windows 7 64 位上安装 Hg-Git

android - 如何在 Android Studio 中导入模块而不创建副本

git - 运行 gitk 时出错

git - gitk 可以默认显示 merge 的差异吗?

javascript - 当我尝试创建提交时出现错误 "Cannot find module ' eslint-config-strict/es 5'"

git - 公共(public)文件中的 Bash 和 Git Flow 错误

gitk - 控制gitk默认 View 的任何方式

没有 X11 的 gitk