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

没有缩进空格的git分支输出?(除了正则表达式操纵),git,bash,git-branch,Git,Bash,Git Branch,是否有一个git branch选项可以打印分支名称前面没有两个空格的所有分支?我原以为--cerial会得到支持,但显然不支持分支列表 我想做的是:我想在不使用低级正则表达式操作的情况下编写合并分支的删除脚本,就像使用awk一样,或者在我的例子中使用perl(以便我的脚本优雅易读): (主题外,但对于那些倾向于囤积和讨厌删除的人来说,这是一种很好的快速方法,可以清除您真正不需要的内容并保持干净的回购)您可以使用git for each ref为存储库中的每个匹配引用获取一些字符串: git fo

是否有一个
git branch
选项可以打印分支名称前面没有两个空格的所有分支?我原以为
--cerial
会得到支持,但显然不支持分支列表

我想做的是:我想在不使用低级正则表达式操作的情况下编写合并分支的删除脚本,就像使用
awk
一样,或者在我的例子中使用perl(以便我的脚本优雅易读):


(主题外,但对于那些倾向于囤积和讨厌删除的人来说,这是一种很好的快速方法,可以清除您真正不需要的内容并保持干净的回购)

您可以使用
git for each ref
为存储库中的每个匹配引用获取一些字符串:

git for-each-ref refs/heads --format "%(refname:short)"


您也可以直接使用
git分支
。它可能在内部为每个ref使用

要列出分支,请使用
git branch--format“%(refname:short)”
。这不会输出
*
。样本输出:

develop
master
bug-123-fix-issue
task-345-do-stuff
*develop
 master
 bug-123-fix-issue
 task-345-do-stuff
develop*
master
bug-123-fix-issue
task-345-do-stuff
要输出星号,请使用git branch--format“%(HEAD)%(refname:short)”
。不幸的是,这会在所有其他分支的开头创建一个空间。样本输出:

develop
master
bug-123-fix-issue
task-345-do-stuff
*develop
 master
 bug-123-fix-issue
 task-345-do-stuff
develop*
master
bug-123-fix-issue
task-345-do-stuff
但是,您可以任意使用该命令,因此您可以将其反转,使其在末尾有星号。它仍然包含空间,但在最后

git分支——格式“%(refname:short)%(HEAD)”

样本输出:

develop
master
bug-123-fix-issue
task-345-do-stuff
*develop
 master
 bug-123-fix-issue
 task-345-do-stuff
develop*
master
bug-123-fix-issue
task-345-do-stuff

可以(ab)在read-r行时使用
,因为
read
会在
IFS
不变时修剪前导和尾随空格。很高兴知道。我希望避免这种情况的主要原因是出于不相关的原因,即我讨厌循环并坚持使用pipes.PetSerAl-I get
bash:unexpected token附近的语法错误('`
git for each ref/heads--format“%(refname)”<代码> > SRIDHAR SARNOBAT:不要使用<代码> BaseNeN/CODE >;它试图将这些文件名作为文件名。考虑它对“代码>特性/Tope<代码>的分支和其他无关分支“代码> bug /Tope<代码>”所做的操作。