git gc failure是指未在任何地方引用的对象哈希

时间:2015-03-12 21:37:52

标签: git git-gc

最近,我注意到,当我git pull我的回购时,它每次都在做git gc。所以我尝试手动运行git gc,这给了我这个错误:

fatal: bad object 76cab35e0e21b7cf0bc8416661a67fbfb7f0e4ba
error: failed to run repack

然后我尝试搜索.git/packed-refs.git/objects/以及.git/index这个哈希值(甚至尝试只搜索整个.git/目录的文件名和内容以获取此哈希值),但永远不会出现。它也没有出现在git fsck --full中(我猜这可能是指.git/中的某些文件,所以这很有意义。)

我该如何解决这个问题? (我使用git 2.3.2。)

1 个答案:

答案 0 :(得分:3)

这是因为reflog引用了以某种方式从文件系统中消失的条目。使用git gc运行--prune="0 days"将删除所有未在远程来源中跟踪的旧版本的引用,并应解决此问题。