我想找到一个特定的分支,并且我知道它的名称将包含一个特定的子字符串(来自我们的错误跟踪器的问题的 ID),但我不知道该分支的完整名称(这就是我想知道)。
如何搜寻这家分行?
git branch --all | grep <id>
Git 1.7.8提供了一个不使用grep的解决方案:
git branch --list <pattern>
以及在 bash git branch --list '<pattern>'
中,在模式周围加上引号。
这也适用于通配符 (
*
),因此您可以使用 git branch --list *<id>*
来查找您的分支。
这会过滤
git branch
命令其余部分返回的分支名称列表(例如,默认情况下仅本地分支、带有 git branch -a --list <pattern>
的所有分支等)。
git branch -a | grep selector
或者
git branch -r | grep selector
-a 显示所有本地和远程分支,而 -r 仅显示远程分支。
查找具有指定文本的分支名称
git branch --list *text*
对于前-我想找到有“生产”字样的分行
git branch --list *production*
建立其他人给出的答案,我将其添加到我的
.gitconfig
[alias]
findb = "!f(){ git branch -ra | grep $1; }; f"
所以在命令行上我可以输入
git findb BUG-123
假设您使用的是 GitHub,有一个用于您的分支的下拉列表,并且该下拉菜单中的标签有一个搜索区域。
您可以使用该搜索区域来搜索您的分行名称。
可以使用
git branch
或 -l
选项将多个模式传递到 --list
。将返回与模式匹配的所有分支。通配符 *
可用于匹配名称中包含子字符串的任何分支。
要过滤所有分支,请添加
-a
或 --all
选项。
例如:
git branch -la "*containsThisSubstring*" "*withThisSuffix" "withThisPrefix*"