如何在 Git 中搜索分支名称?

我想找到一个特定的分支,我知道它的名字包含一个特定的子字符串(来自 bug 跟踪器的问题的 id) ,但是我不知道分支的全名(这就是我想找到的)。

我怎样才能找到这个分行?

85820 次浏览
git branch --all | grep <id>
git branch -a | grep selector

或者

git branch -r | grep selector

- a 显示所有本地和远程分支,而-r 只显示远程分支。

假设您正在使用 GitHub,您的分支有一个下拉列表,下拉菜单中的标记有一个搜索区域。

您可以使用该搜索区域搜索您的分支名称。

根据别人给出的答案,我把这个加到了我的 .gitconfig

[alias]
findb = "!f(){ git branch -ra | grep $1; }; f"

所以在命令行上我可以输入 git findb BUG-123

Git 1.7.8 提供了一个不使用 grep 的解决方案:

git branch --list <pattern> and in bash git branch --list '<pattern>' with quotes around pattern.

这也适用于通配符(*) ,因此可以使用 git branch --list *<id>*查找分支。

这将过滤由 git branch命令的其余部分返回的分支名称列表(例如,默认情况下只有本地分支,所有分支都带有 git branch -a --list <pattern>,等等)。

查找包含指定文本的分支 Name

git branch --list *text*

对于 Ex-我想找到有“生产”单词的分支

git branch --list *production*