最近,我注意到,当我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
。)
答案 0 :(得分:3)
这是因为reflog引用了以某种方式从文件系统中消失的条目。使用git gc
运行--prune="0 days"
将删除所有未在远程来源中跟踪的旧版本的引用,并应解决此问题。