git branch -d <branch>
删除分支,也删除它的reflog(在.git/logs/refs/heads/<branch>
中)。是的,您可以从HEAD
的reflog中恢复分支,但为什么要立即丢弃分支的reflog?当然,保持它并在以后gc它会更明智。这也可以更容易地取消删除分支(不通过HEAD
的reflog进行搜索)。
这是个好主意吗?
假设1的答案不是“不是,这是一个可怕的想法”,这可以通过配置选项(我没有找到)或通过管道命令的某种组合来实现吗?
答案 0 :(得分:3)
我认为这不是一个坏主意,并且reflog条目会在通常到期后自行消失,所以我不确定为什么git branch -d
会删除reflog。
我确认git update-ref -d
不删除了reflog,所以是的,您可以通过管道命令实现所需的效果。在调用git update-ref
之前编写您喜欢的任何测试,然后使用-d
删除测试是否通过。