无限期保留Git Reflog?

时间:2012-05-02 22:45:04

标签: git version-control git-reflog

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

Git reflog数据在30天后被修剪。有没有办法设置它以便保持并无限期地保存reflog数据?

这样做有哪些主要优点或缺点(空间或速度考虑除外)?

1 个答案:

答案 0 :(得分:6)

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

缺点:reflogs可能导致(否则)无法访问的快照(以及因此blob)被保留,使你的repo增长到可能需要的更大的大小。看看gc.reflogexpireunreachable可能有助于这方面的事情。

两个配置设置控制reflog条目的到期时间:

  

gc.reflogexpiregc.<pattern>.reflogexpire

     
    

git reflog expire删除比此时更旧的reflog条目;默认为90天。使用“&lt; pattern&gt;” (例如“refs / stash”)在设置中间仅适用于            refs匹配。

  
     

gc.reflogexpireunreachablegc.<ref>.reflogexpireunreachable

     
    

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