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

9 git git-branch

如果我跑步git branch,我会得到类似:

* master
  dev
  foo
Run Code Online (Sandbox Code Playgroud)

如果这样做git branch -r,它将显示遥控器上的所有分支,而没有星号(星号显示我当前已签出的分支)。

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

kni*_*ttl 10

您可以使用for-each-ref

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

  • 您可以将`:short`或`lstrip = -1`传递给refname以获得仅分支名称。就像`git branch --format ='%(refname:short)'` (10认同)
  • 一个快速而肮脏的解决方案`git分支| cut -c 3-`,谁不喜欢快速而肮脏的解决方案? (4认同)
  • 使用 `refs/heads/**` 包含带斜杠的分支名称。 (3认同)
  • @JohnnyWiller 对 `git branch --format` 的建议也适用于包含斜杠的分支名称,而答案没有。 (2认同)
  • @JoeyAdams 只是省略任何“*”也对我有用:“refs/heads” (2认同)