【问题标题】:Keep Git Reflog Indefinitely?无限期地保持 Git Reflog?
【发布时间】:2012-05-12 11:02:05
【问题描述】:

我倾向于对我的数据有点偏执,包括恢复数据的能力。

Git reflog 数据在 30 天后被修剪。有没有办法设置它,以便无限期地维护和保留 reflog 数据?

这样做有什么主要优势或劣势(除了空间或速度方面的考虑)?

【问题讨论】:

  • reflog 只是附加到的日志,因此没有与修剪 reflog 相关的性能考虑。 Git 在正常操作期间不会引用 reflog,除非您特别要求 reflog。

标签: git version-control git-reflog


【解决方案1】:

警告:引用日志是本地的,不会通过推/拉操作发送/接收。

缺点:reflog 可能会导致(否则)无法访问的快照(以及因此导致的 blob)被保留,从而使您的存储库增长到超出预期的大小。查看gc.reflogexpireunreachable 了解可能在这方面有所帮助的内容。

两个配置设置控制 reflog 条目的过期:

gc.reflogexpire, gc.<pattern>.reflogexpire

git reflog expire 删除比这个时间更早的 reflog 条目;默认为 90 天。中间有“”(例如“refs/stash”),该设置仅适用于 与 .

匹配的 refs

gc.reflogexpireunreachable, gc.<ref>.reflogexpireunreachable

git reflog expire 删除比这个时间更早的 reflog 条目,并且无法从当前提示访问;默认为 30 天。使用“”(例如“refs/stash”) 中间,该设置仅适用于与 匹配的 refs。

【讨论】:

    猜你喜欢
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 2012-05-11
    • 2014-06-02
    • 2012-02-06
    相关资源
    最近更新 更多