仅命名`git branch --list`的选项?

ant*_*tak 2 git

git branch输出一个分支列表,但也输出其他面向人的绒毛,如*当前分支旁边的星号().

$ git branch
* (HEAD detached at origin/master)
  branch_foo
  some/branch_bar
Run Code Online (Sandbox Code Playgroud)

如何获得更多机器可解析的输出(例如,只是分支的名称)以供脚本使用等?

Cyr*_*ors 16

git branch --format='%(refname:short)'
Run Code Online (Sandbox Code Playgroud)


tor*_*rek 7

使用引用的常规脚本命令是git for-each-ref.

分支引用存在于refs/heads/名称空间的一部分中,因此用于git for-each-ref refs/heads获取它们.

默认情况下,git for-each-ref打印三个项目:'%(objectname) %(objecttype) %(refname)',使用不同--format的更改此项.在这种情况下,您可能想要:

git for-each-ref --format='%(refname:short)' refs/heads
Run Code Online (Sandbox Code Playgroud)

但请参阅所有可用格式指令的文档.(还要注意的是git for-each-ref得到了重视公平位在git的2.6和2.7: ,--contains,--merged,--no-merged--points-at.是新老版本的git的,前三个是只能通过使用git branch.)