2015-08-03 147 views
19

我想找到一个特定的分支,我知道它的名字将包含特定的子字符串(来自我们的bug跟踪器的问题的id),但我不知道分支的全名(这是我想知道)。如何在git中搜索分支名称?

我该如何搜索这个分支?

+0

你好=] 检查链路(http://stackoverflow.com/questions/15292391/is-it-possible-to-perform-a-grep-search-in-all-the-branches-of- git的项目)。它可以帮助你。 –

+1

@ThaisaMirely您提供的链接用于**所有分支**中的所有文件中搜索。这个问题是要求只搜索**分支名称**。 –

回答

35
git branch --all | grep <id> 
+4

一个班轮答案不适合初学者。几行解释增加了一百万次的价值。 – jem

+0

'git branch --all | grep -i '不区分大小写。 –

8
git branch -a | grep selector 

或者

git branch -r | grep selector 

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

0

假设你正在使用git hub有一个下拉列表为你的分支和标签在那个下拉菜单中有一个搜索区域。您可以使用搜索区域来搜索您的支行名称

4

,其他人已经给出了答案大厦,我已将此添加到我的.gitconfig

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

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

+1

虽然两者都在分支机构列表上使用grep,但这比经常使用的公认答案要好。谢谢。 – Saim

9

真的很晚,但我找到了更好的解决方案:git branch --list <pattern>,不需要去grep

这也适用于通配符(*),所以你可以使用git branch --list *<id>*找到你的分支。

+0

注意:这将只列出本地分支,即您将无法使用此命令找到远程分支。 –

+1

这是因为'git branch'默认情况下,只列出本地分支。所有分支都使用'git branch -r'作为远程分支,'git branch -a'使用。 –