3

在我的 git 存储库的本地克隆中,当删除(或重命名)引用时,附加到旧名称的 reflog 将被删除。

我找不到说明“保留已删除引用的日志”的选项。

问题

有没有办法为已删除的引用保留 reflog 文件?

清理和 gc 仍然可以遵循 reflog 条目、无法访问的对象等的参数......

4

1 回答 1

4

据我所知,git 没有提供这样做的方法。我不知道原因;在通常的保留期内保留分支的 reflog 当然会很好,但是不知道 reflog 到期通常如何工作的具体细节我不能说是否有充分的理由说明这太难了。(或者,如果创建了同名的新分支,可能会出现问题?)

不管是什么原因,文档都指定日志被删除(https://git-scm.com/docs/git-branch)并且没有指出任何改变行为的方法。我想您可以手动复制 reflog 文件 ( .git/logs/refs/...) 以保留信息,但这肯定不是一种用户友好的方法。

在实践中,您基本上仅限于可能偶然出现在HEADreflog 中的任何条目。因此,我想如果您不确定是否不再需要更详细的分支历史记录,请不要删除它。

于 2018-08-29T15:04:31.243 回答