在git远程存储库上设置变量 - git gc不会自动运行

时间:2012-09-19 11:21:29

标签: git variables git-gc

似乎git拒绝在我的远程存储库上自动执行gc命令。在大约一个月内,由于.pack文件,该存储库扩大到大约6GB。我认为这是变量gc.auto的问题 - 如何在远程repsoitory上设置此变量,或者如何在该存储库上手动运行git-gc命令?

2 个答案:

答案 0 :(得分:0)

您必须登录托管远程仓库的框,然后输入

git gc

在命令行上。

关于gc.autodocs说:

  

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 5f4e3bfEric 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时,如果只有一个包,则不应触发重新打包,但代码计数不佳并且这样做。