【问题标题】:keep reflog for deleted references为已删除的引用保留 reflog
【发布时间】:2019-02-04 08:42:46
【问题描述】:

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

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

问题

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

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

【问题讨论】:

  • 好吧,如果您正在考虑删除的提交,最好的办法是让引用这些提交的分支保持活动状态。

标签: git git-reflog


【解决方案1】:

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

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

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

【讨论】:

  • 在 Git 邮件列表上的某个时间点上讨论过即使在删除分支时也要保留引用日志。我认为这将不得不等待一个真正的参考数据库,因为如果 reflog 不仅仅是目录树中的文件,那么很多顽固的极端情况都会消失......
猜你喜欢
  • 1970-01-01
  • 2022-11-10
  • 2018-08-10
  • 1970-01-01
  • 2019-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-14
相关资源
最近更新 更多