我试图在我们的主git存储库中运行垃圾收集,它说“错误:无法运行重新打包”但我没有看到任何其他错误消息来帮助我确定问题。 “git fsck”和“git fsck --strict”都快乐地完成而没有错误,但“git gc”和“git gc --agressive”都以:
结尾%> git gc
Counting objects: 120867, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (58692/58692), done.
error: failed to run repack 57/120867)
有足够的内存和磁盘空间。我们正在使用git 1.7.11
我不是很了解,但是这个问题的其他问题似乎有一个特殊的文件被提到并需要手动修复。我没有看到其他任何错误,也不知道如何继续修复这个错误,并希望得到任何帮助,如果它变得复杂,可能会使用带有解释的小词或指向git主题的指针。
答案 0 :(得分:3)
我明白了,也许这会对别人有所帮助。
我最终设置了GIT_TRACE = 1并运行了“git gc”,并且在唯一的错误出现之前它运行的最后一个命令是:
trace: built-in: git 'pack-objects' '--keep-true-parents' '--honor-pack-keep' '--non-empty' '--all' '--reflog' '--unpack-unreachable=2.weeks.ago' '--local' '--delta-base-offset' '/db/sds14/user2/cwolf/cg_sandbox/.git/objects/pack/.tmp-24230-pack'
手动运行该命令可以解释实际错误:
%> git 'pack-objects' '--keep-true-parents' '--honor-pack-keep' '--non-empty' '--all' '--reflog' '--unpack-unreachable=2.weeks.ago' '--local' '--delta-base-offset' '/db/sds14/user2/cwolf/cg_sandbox/.git/objects/pack/.tmp-24230-pack'
Counting objects: 120986, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (58821/58821), done.
Filesize limit exceeded
“unlimit filesize”只需要让“git gc”重新开始工作。我不知道为什么这个系统错误在我以其他方式运行时对我隐藏。
答案 1 :(得分:1)
我也遇到类似的情况,只是“无法运行重新打包”(覆盖“计数对象(#/#)”)而没有其他错误消息;就我而言,所要做的就是使用--aggressive
选项使git gc
工作(尽管此后如果没有该选项,它仍然会失败)
这是在Windows 10上; git版本2.19.0.windows.1