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