我想找一个特定的分支,我知道它的名字会包含一个特定的子字符串(来自我们的bug跟踪器的问题的id),但是我不知道分支的全名(这就是我的意思)想知道).
我该如何搜索这个分支?
Evi*_*oad 79
git branch --all | grep <id>
Run Code Online (Sandbox Code Playgroud)
Cal*_* Li 44
Git 1.7.8提供了更好的解决方案:
没有必要去grep.
这也适用于通配符(*),因此您可以使用它git branch --list *<id>*来查找您的分支.
这将过滤由git branch命令的其余部分返回的分支名称列表(例如,默认情况下仅为本地分支,所有分支均为git branch -a --list <pattern>等).
git branch -a | grep selector
Run Code Online (Sandbox Code Playgroud)
要么
git branch -r | grep selector
Run Code Online (Sandbox Code Playgroud)
-a显示所有本地和远程分支,而-r仅显示远程分支.
找到指定文本所在的分支名称
git branch --list *text*
Run Code Online (Sandbox Code Playgroud)
例如,我想找到带有“生产”字样的分支
git branch --list *production*
Run Code Online (Sandbox Code Playgroud)
建立其他人给出的答案,我把它添加到我的 .gitconfig
[alias]
findb = "!f(){ git branch -ra | grep $1; }; f"
Run Code Online (Sandbox Code Playgroud)
所以在命令行上我可以输入 git findb BUG-123