【问题标题】:Setting variables on git remote repository - git gc doesn't run automatically在 git 远程存储库上设置变量 - git gc 不会自动运行
【发布时间】:2012-09-11 16:51:48
【问题描述】:

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

【问题讨论】:

    标签: git variables git-gc


    【解决方案1】:

    注意:如果你的 repo 只有一个包文件,git gc 应该git config gc.autoPackLimit 1 上重新打包。然而它确实做到了。
    也就是说,它一直持续到 Git 2.10(2016 年第三季度)。

    参见 Eric Wong (ele828)commit 5f4e3bf(2016 年 6 月 25 日)。
    (由 Junio C Hamano -- gitster -- 合并于 commit 97865e8,2016 年 7 月 13 日)

    gc:用gc.autoPackLimit 修复一个错误

    这与文档相匹配,并允许 gc.autoPackLimit=1 维护单个包,而无需在每次“git gc --auto”调用时尝试重新打包。

    "gc.autoPackLimit" 设置为 1 时不应在只有一包时触发重新打包,但代码计数不佳并这样做了。

    【讨论】:

      【解决方案2】:

      您必须在托管远程存储库的框中登录,然后只需键入

      git gc
      

      在命令行上。

      关于gc.autodocs说:

      gc.auto
      当存储库中的松散对象大约超过这么多时, git gc --auto 将打包它们。一些 Porcelain 命令不时使用此命令执行轻量级垃圾收集。默认值为 6700。将此设置为 0 将禁用它。

      但是,您说的是.pack 文件。似乎还有另一种选择:

      gc.autopacklimit
      当存储库中有多个没有用 *.keep 文件标记的包时, git gc --auto 将它们合并到一个更大的包中。默认值为 50。将此设置为 0 将禁用它。

      请注意,gc.autopacklimit 适用于包装数量,而不是包装尺寸。也许您可以使用这些来调整 gc 行为...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-05
        • 1970-01-01
        • 2015-10-05
        • 1970-01-01
        • 2012-08-13
        • 2012-03-07
        • 1970-01-01
        • 2014-09-12
        相关资源
        最近更新 更多