我倾向于对我的数据有点偏执,包括恢复它的能力。
Git reflog数据在30天后被修剪。有没有办法设置它以便保持并无限期地保存reflog数据?
这样做有哪些主要优点或缺点(空间或速度考虑除外)?
答案 0 :(得分:6)
警告:reflog是本地的,不会通过推/拉操作发送/接收。
缺点:reflogs可能导致(否则)无法访问的快照(以及因此blob)被保留,使你的repo增长到可能需要的更大的大小。看看gc.reflogexpireunreachable
可能有助于这方面的事情。
两个配置设置控制reflog条目的到期时间:
gc.reflogexpire
,gc.<pattern>.reflogexpire
git reflog expire删除比此时更旧的reflog条目;默认为90天。使用“&lt; pattern&gt;” (例如“refs / stash”)在设置中间仅适用于 refs匹配。
gc.reflogexpireunreachable
,gc.<ref>.reflogexpireunreachable
git reflog expire删除比此时更旧的reflog条目,并且无法从当前提示访问;默认为30天。使用“&lt; pattern&gt;” (例如“refs / stash”) 中,该设置仅适用于与。匹配的引用。