Git branch -a显示远程分支和本地分支。
Git branch -r显示远程分支。
是否有一种方法只列出本地分支?
Git branch -a显示远程分支和本地分支。
Git branch -r显示远程分支。
是否有一种方法只列出本地分支?
当前回答
下面是如何列出没有相同名称的远程分支的本地分支:
git branch | sed 's|* | |' | sort > local
git branch -r | sed 's|origin/||' | sort > remote
comm -23 local remote
其他回答
获取本地分支列表的另一种方法是:
git branch -a | grep -v 'remotes'
只是git分支没有选项。
从手册中:
如果没有参数,则列出现有分支,当前分支将用星号突出显示。
最直接的方法之一是
git for-each-ref --format='%(refname:short)' refs/heads/
这也适用于脚本。
下面是如何列出没有相同名称的远程分支的本地分支:
git branch | sed 's|* | |' | sort > local
git branch -r | sed 's|origin/||' | sort > remote
comm -23 local remote
Use:
git show-ref --heads
gertvdijk的回答是最简洁和优雅的,但这可能有助于理解refs/heads/*等同于局部分支的想法。
大多数情况下,refs/heads/master ref是一个位于. Git /refs/heads/master的文件,其中包含一个Git提交散列,指向代表本地主分支当前状态的Git对象,因此. Git /refs/heads/*下的每个文件都代表一个本地分支。