似乎git拒绝在我的远程存储库上自动执行gc命令。在大约一个月内,由于.pack文件,该存储库扩大到大约6GB。我认为这是变量gc.auto的问题 - 如何在远程repsoitory上设置此变量,或者如何在该存储库上手动运行git-gc命令?
答案 0 :(得分:0)
您必须登录托管远程仓库的框,然后输入
git gc
在命令行上。
关于gc.auto
:docs说:
gc.auto
当存储库中存在大约多个松散对象时,git gc --auto将打包它们。一些Porcelain命令使用此命令不时执行轻量级垃圾收集。默认值为6700.将此值设置为0将禁用它。
但是,您正在谈论.pack
个文件。似乎还有另一种选择:
gc.autopacklimit
当存储库中没有标记* .keep文件的许多包时,git gc --auto将它们合并为一个更大的包。默认值为50.将此设置为0将禁用它。
请注意,gc.autopacklimit
适用于包的数量,而不是其大小。也许你可以使用这些来调整gc
行为......
答案 1 :(得分:0)
注意:如果您的repo只有一个包文件,则git gc
应该不重新包装git config gc.autoPackLimit 1
。但确实如此
也就是说,直到Git 2.10(2016年第3季度)。
commit 5f4e3bf见Eric Wong (ele828
)(2016年6月25日)
(由Junio C Hamano -- gitster
--合并于commit 97865e8,2016年7月13日)
修复一个错误
gc
:使用gc.autoPackLimit
这与文档相符,并允许gc.autoPackLimit=1
维护单个包而不尝试重新包装每个" git gc --auto
"调用
"
gc.autoPackLimit
"当设置为1时,如果只有一个包,则不应触发重新打包,但代码计数不佳并且这样做。