2013-10-21 60 views
2

git branch -d <branch>删除分支,也是reflog(在.git/logs/refs/heads/<branch>)。是的,您可以从HEAD的reflog中恢复分支,但为什么要立即丢弃分支的reflog?当然,将它保留下来并在稍后使用它会更明智。这也可以更容易地取消删除分支(没有通过HEAD的reflog搜索)。是否有可能阻止git立即删除已删除分支的reflog?

  1. 这是个好主意吗?

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

回答

3

我不认为这是一个坏主意,和平常期满后引用日志条目就会消失在自己,所以我不知道为什么git branch -d删除reflogs。

我验证了git update-ref -d确实不是删除了引用日志,所以是的,您可以通过管道命令实现所需的影响。在调用git update-ref之前写下你喜欢的任何测试,然后使用-d删除测试通过。

+0

我偶然发现了一个关于这个的[邮件列表线程](http://article.gmane.org/gmane.comp.version-control.git/150734),结果发现有一些涉及死亡命名冲突的案例分支机构。无论如何,我可能会使用它,因为我个人使用,我可以避免名称冲突。 – npostavs

+0

有趣的是,我想这解释了为什么没有人做到这一点(处理技术问题显然会令代码烦人)。 – torek

相关问题