Git branch -a显示远程分支和本地分支。
Git branch -r显示远程分支。
是否有一种方法只列出本地分支?
Git branch -a显示远程分支和本地分支。
Git branch -r显示远程分支。
是否有一种方法只列出本地分支?
当前回答
最直接的方法之一是
git for-each-ref --format='%(refname:short)' refs/heads/
这也适用于脚本。
其他回答
只是简单的命令
git branch
为了补充gertvdijk的回答,我添加了一些截图,以防它能快速帮助到某人。
在我的Git Bash shell中,如果我运行以下命令:
git branch
这个命令(不带参数)显示我的所有本地分支。当前签出的分支以不同的颜色(绿色)显示,并带有一个星号(*)前缀,这非常直观。
当你尝试使用-a(代表all)参数查看所有分支,包括远程分支时:
git branch -a
然后还没有签出的远程分支也会以不同的(红色)颜色显示:
关于如何删除本地分支的帖子有一个很好的答案。在其中,下面的代码构建了一个命令来列出本地分支:
git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }'
关于这个命令是如何导出的,答案有一个很好的解释,所以我建议你去阅读那篇文章。
Use:
git show-ref --heads
gertvdijk的回答是最简洁和优雅的,但这可能有助于理解refs/heads/*等同于局部分支的想法。
大多数情况下,refs/heads/master ref是一个位于. Git /refs/heads/master的文件,其中包含一个Git提交散列,指向代表本地主分支当前状态的Git对象,因此. Git /refs/heads/*下的每个文件都代表一个本地分支。
获取本地分支列表的另一种方法是:
git branch -a | grep -v 'remotes'