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)
列出以“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标志附加到上面的命令中。
你只需要告诉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)