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删除测试是否通过。

08-27 11:40