Git:我如何只列出本地分支机构?

mun*_*ngm 886 git git-branch

git branch -a 显示远程和本地分支.

git branch -r 显示远程分支.

有没有办法列出当地的分支机构?

ger*_*ijk 1365

只是git branch不带选项.

从主页面:

如果没有参数,则会列出现有分支,并使用星号突出显示当前分支.

  • 我希望找到一种方法来列出没有相应远程分支的本地分支. (19认同)
  • 不完全,但回答我的问题[如何列出没有远程分支的本地分支](http://stackoverflow.com/questions/24144602/git-how-do-i-list-local-branches-that-have -no-remote-branch)提供一些帮助. (4认同)
  • @ gr4viton:在我熟悉的英语方言中,"仅列出本地分支"通常会解析为"仅列出本地分支".(要说"列出那些只是本地的分支",我会说"列出仅限本地分支".) (4认同)
  • @ c00kiemon5ter我喜欢你怎么找到一种获得一堆积分的方法!好笑 (3认同)
  • 这怎么回答所问的问题("......列出***只是当地的**分支......")??? (3认同)

c00*_*ter 209

只是普通的命令

git branch
Run Code Online (Sandbox Code Playgroud)

  • 此答案与接受的答案具有完全相同的时间戳.接受的答案必须提前毫秒:) (3认同)
  • @RBT鼠标悬停时代.这个答案快了9秒. (2认同)

sho*_*uck 54

git branch -a //所有分支

git branch -r //仅限远程分支.

git branch -lgit branch//仅限本地分支机构.

  • 对我来说,这个答案的格式表明“-l”代表“--local”,而它实际上是“--list”。我建议删除它以避免这种混乱 - 从技术上讲,这个答案中的所有命令都可以使用“-l”,并且它们仍然会返回相同的结果。 (7认同)

小智 34

如果前导星号是个问题,我git branch按如下方式管道

git branch | awk -F ' +' '! /\(no branch\)/ {print $2}'
Run Code Online (Sandbox Code Playgroud)

这也消除了当你有分离头时出现的'(无分支)'线.

  • `cut -c 3 -`是一个更容易的选择 (5认同)

Vic*_*ema 30

最直接的方法之一是

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

这也适用于脚本.

  • 正是我正在寻找的“git分支”倾向于列出不是本地分支的东西......比如“HEAD”。 (2认同)
  • 感谢您展示了脚本友好的方法来做到这一点! (2认同)

Shn*_*sel 12

以下是如何列出在原点中没有具有相同名称的远程分支的本地分支:

git branch | sed 's|* |  |' | sort > local
git branch -r | sed 's|origin/||' | sort > remote
comm -23 local remote
Run Code Online (Sandbox Code Playgroud)

  • 很好,也是oneliner:``comm -23 <(git branch | sed's |*| |'| sort)<(git branch -r | sed's | origin/||'| sort)`` (3认同)

小智 9

获取列表的其他方式只是本地分支是:

git branch -a | grep -v 'remotes'
Run Code Online (Sandbox Code Playgroud)


Sam*_*war 6

关于如何删除仅本地分支的帖子有一个很好的答案。在其中,该家伙构建了一个命令来列出本地分支:

git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }'

答案对这个命令是如何派生的有很好的解释,所以我建议你去阅读那篇文章。


RBT*_*RBT 5

为了补充gertvdijk 的答案- 我添加了一些屏幕截图,以防它可以快速帮助别人。

在我的Git Bash shell 中,如果我运行以下命令:

git branch
Run Code Online (Sandbox Code Playgroud)

该命令(不带参数)显示我所有的本地分支。当前签出的当前分支以不同的颜色(绿色)显示,并带有星号(*)前缀,非常直观。

在此输入图像描述

-a当您尝试使用(代表all ) 参数查看包括远程分支在内的所有分支时:

git branch -a
Run Code Online (Sandbox Code Playgroud)

然后,尚未签出的远程分支也以不同的(红色)颜色显示:

在此输入图像描述