2015-08-03 32 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'使用。 –