列出所有不带星号的本地git分支

列出所有不带星号的本地git分支,git,git-branch,Git,Git Branch,如果我运行git分支,我会得到如下结果: * master dev foo 如果我执行git branch-r,它将显示远程上的所有分支,而不带星号(星号显示我当前签出的分支) 如何列出所有本地分支,而不显示星号?我需要一个编程解决方案,以便逐行读取结果。您可以使用: 您只需使用正则表达式修剪前导空格并删除星号即可。我确信您使用的编程语言使这成为可能。@tangoal:您可以这样做,但这几乎肯定不是最好的方法。Git作者将他们的命令松散地划分为他们称之为管道和瓷器的命令。“卫浴”命令是

如果我运行
git分支
,我会得到如下结果:

* master
  dev
  foo
如果我执行git branch-r,它将显示远程上的所有分支,而不带星号(星号显示我当前签出的分支)

如何列出所有本地分支,而不显示星号?我需要一个编程解决方案,以便逐行读取结果。

您可以使用:


您只需使用正则表达式修剪前导空格并删除星号即可。我确信您使用的编程语言使这成为可能。@tangoal:您可以这样做,但这几乎肯定不是最好的方法。Git作者将他们的命令松散地划分为他们称之为管道和瓷器的命令。“卫浴”命令是供其他命令使用的,而“瓷器”命令是供人类使用的。因此,管道命令的输出通常最适合作为另一个程序的输入,而不是用于目测
git for each ref
是实现
git branch--list
git tag--list
,以及其他几个功能的管道命令。您可以将
:short
lstrip=-1
传递给refname,以仅获取分支名称。像
git branch--format='%(refname:short)
@JohnnyWiller关于
git branch--format
的建议也适用于包含斜杠的分支名称,而答案却不包含斜杠,谁不喜欢又快又脏的解决方案?使用
refs/heads/**
将分支名称包含在斜杠中。@Joey Adams省略任何
*
s对我也适用:
refs/heads
git for-each-ref --format='%(refname:short)' refs/heads/