Git branch -a显示远程分支和本地分支。

Git branch -r显示远程分支。

是否有一种方法只列出本地分支?


当前回答

只是git分支没有选项。

从手册中:

如果没有参数,则列出现有分支,当前分支将用星号突出显示。

其他回答

为了补充gertvdijk的回答,我添加了一些截图,以防它能快速帮助到某人。

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

git branch

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

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

git branch -a

然后还没有签出的远程分支也会以不同的(红色)颜色显示:

获取本地分支列表的另一种方法是:

git branch -a | grep -v 'remotes'

下面是如何列出没有相同名称的远程分支的本地分支:

git branch | sed 's|* |  |' | sort > local
git branch -r | sed 's|origin/||' | sort > remote
comm -23 local remote

只是简单的命令

git branch

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

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

关于这个命令是如何导出的,答案有一个很好的解释,所以我建议你去阅读那篇文章。