没有缩进空格的git分支输出?(除了正则表达式操作)

Sri*_*bat 3 git bash git-branch

是否有git branch选项可以打印所有分支,而分支名称前没有两个空格?我认为--porcelain会得到支持,但显然不支持分支上市。

我想要做的是:我想编写删除合并分支的脚本,而不像使用awk.

git branch | perl -pe 's{^\s*}{}g' | xargs -n 1 git branch -d
Run Code Online (Sandbox Code Playgroud)

(题外话,但对于那些倾向于囤积和讨厌删除的人来说,这是一个很好的快速方法来清除你真正不需要的东西并保持一个干净的回购)

San*_*hos 5

也可以git branch直接使用。它可能在for-each-ref内部使用。

要列出分支,请使用git branch --format "%(refname:short)". 这不会输出*. 示例输出:

develop
master
bug-123-fix-issue
task-345-do-stuff
Run Code Online (Sandbox Code Playgroud)

要输出星号,请使用git branch --format "%(HEAD)%(refname:short)". 不幸的是,这会在所有其他分支的开头创建一个空间。示例输出:

*develop
 master
 bug-123-fix-issue
 task-345-do-stuff
Run Code Online (Sandbox Code Playgroud)

但是,您可以随心所欲地使用该命令,因此您可以将其反转以在末尾显示星号。它仍然包含空间,但在最后。

git branch --format "%(refname:short)%(HEAD)"

示例输出:

develop*
master
bug-123-fix-issue
task-345-do-stuff
Run Code Online (Sandbox Code Playgroud)