我倾向于对我的数据有点偏执,包括恢复它的能力。
Git reflog 数据在 30 天后被修剪。有没有办法设置它,以便无限期地维护和保留 reflog 数据?
这样做有什么主要的优势或劣势(除了空间或速度方面的考虑)吗?
我倾向于对我的数据有点偏执,包括恢复它的能力。
Git reflog 数据在 30 天后被修剪。有没有办法设置它,以便无限期地维护和保留 reflog 数据?
这样做有什么主要的优势或劣势(除了空间或速度方面的考虑)吗?
警告:引用日志是本地的,不会通过推/拉操作发送/接收。
缺点:reflogs 可能会导致(否则)无法访问的快照(以及随之而来的 blob)被保留,使你的 repo 增长到比可能需要的更大的大小。寻找gc.reflogexpireunreachable
可能在这方面有所帮助的东西。
两个配置设置管理 reflog 条目的过期:
gc.reflogexpire
,gc.<pattern>.reflogexpire
git reflog expire 删除比这个时间更早的 reflog 条目;默认为 90 天。在中间使用“<pattern>”(例如“refs/stash”)时,该设置仅适用于与 .
gc.reflogexpireunreachable
,gc.<ref>.reflogexpireunreachable
git reflog expire 删除比此时间更早的 reflog 条目,并且无法从当前提示访问;默认为 30 天。中间有“<pattern>”(例如“refs/stash”),该设置仅适用于匹配<pattern> 的引用。