列出所有以字符串开头的 git 本地分支

use*_*314 6 unix bash shell git-bash

我想列出仅以 abc 开头的所有本地分支(最终删除但为了安全起见......)。问题是这种方法是有效的。但如果没有分支以“abc”开头,那么它会列出所有分支。这就是我不想最终做的事情(删除我所有的本地分支机构)

git for-each-ref --format="%(refname:short)" refs/heads/abc\* | xargs git branch --list
Run Code Online (Sandbox Code Playgroud)

kzh*_*kzh 8

列出以“abc”开头的所有分支:

git branch --list "abc*"
Run Code Online (Sandbox Code Playgroud)

因此,如果您想删除它们,请运行以下命令:

git branch --list "abc*" | xargs --no-run-if-empty git branch --delete
Run Code Online (Sandbox Code Playgroud)

如果你想危险地生活,你可以将--force标志附加到上面的命令中。


Eta*_*ner 3

你只需要告诉xargs它如果没有输入就不要执行它的命令。

您可以使用-ror--no-run-if-empty参数来做到这一点。

git for-each-ref --format="%(refname:short)" refs/heads/abc\* | xargs --no-run-if-empty git branch --list
Run Code Online (Sandbox Code Playgroud)