是否有可能阻止git立即删除已删除分支的reflog?

时间:2013-10-21 04:50:31

标签: git

git branch -d <branch>删除分支,也删除它的reflog(在.git/logs/refs/heads/<branch>中)。是的,您可以从HEAD的reflog中恢复分支,但为什么要立即丢弃分支的reflog?当然,保持它并在以后gc它会更明智。这也可以更容易地取消删除分支(不通过HEAD的reflog进行搜索)。

  1. 这是个好主意吗?

  2. 假设1的答案不是“不是,这是一个可怕的想法”,这可以通过配置选项(我没有找到)或通过管道命令的某种组合来实现吗?

1 个答案:

答案 0 :(得分:3)

我认为这不是一个坏主意,并且reflog条目会在通常到期后自行消失,所以我不确定为什么git branch -d会删除reflog。

我确认git update-ref -d 删除了reflog,所以是的,您可以通过管道命令实现所需的效果。在调用git update-ref之前编写您喜欢的任何测试,然后使用-d删除测试是否通过。