列出所有曾经存在的Git分支

3
我知道git branch命令可以列出所有本地分支。
但是是否有一种方法可以列出已经存在但被删除的分支呢?
我使用这个功能是为了命名目的。
如果先前在某个分支上实现了某个功能,并且该分支在之后被删除,当很长时间后再次处理相同的功能时,想要重用该分支的名称。

你可能能够在reflog中找到一些最近签出的分支,但总的来说:分支名称并不是Git关心跟踪的内容。为什么你要关心重复使用相同的分支名称呢?对于Git来说,新的分支名称与Git已经忘记的其他名称是否相同并没有任何区别。 - ephemient
如果您从未从远程删除分支,则 git branch -a 将起作用,假设您始终推送您的功能分支。 - 1615903
@ephemient,我关心分支名,因为它是实现功能的范围。例如,稍后要查找与功能X相关的分支名称为X的所有提交。 - Vuk Djapic
@Libin 检查了答案,似乎唯一可行的选项是不删除分支。但这可能会导致许多分支名称,无法知道哪些是当前的分支。 - Vuk Djapic
@VukDjapic:这应该会有所帮助。https://dev59.com/0nM_5IYBdhLWcg3wmkau - Libin Varghese
1个回答

0

在我看来,一个不错且可靠的方法是通过 Git 标签来实现。当一个功能完成后,你可以创建一个 Git 标签,并在注释中包含分支名称。

  git tag -a v1.4 -m "<branch_name> blabla"

这样,您可以列出标签以及间接存在的分支:

  # outputs tags with their comments
  git tag -l -n

  #output would be
  v1.1     <feature_branch_name> comment blabla
  v1.2     <other_feature_branch_name> other_comment blabla
  ....

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接