Git branch -a显示远程分支和本地分支。
Git branch -r显示远程分支。
是否有一种方法只列出本地分支?
Git branch -a显示远程分支和本地分支。
Git branch -r显示远程分支。
是否有一种方法只列出本地分支?
当前回答
只是git分支没有选项。
从手册中:
如果没有参数,则列出现有分支,当前分支将用星号突出显示。
其他回答
只是简单的命令
git branch
Use:
git show-ref --heads
gertvdijk的回答是最简洁和优雅的,但这可能有助于理解refs/heads/*等同于局部分支的想法。
大多数情况下,refs/heads/master ref是一个位于. Git /refs/heads/master的文件,其中包含一个Git提交散列,指向代表本地主分支当前状态的Git对象,因此. Git /refs/heads/*下的每个文件都代表一个本地分支。
使用git分支的——格式,你可以显示本地分支及其配置的远程和合并配置(在repo的.git/config文件中可以找到)。
git branch --format='%(HEAD) %(refname:short) -> %(upstream:short)'
参见git分支使用的git for-each-ref的格式文档
您可以在~/.gitconfig中添加它作为别名
[alias]
[...]
brem = branch --format='%(HEAD) %(refname:short) -> %(upstream:short)'
[...]
例子
在当地有5个分支机构 有2个远程位置:原点和上游 名为upstream的本地分支被配置为推/拉到上游的主分支 命名为test的本地分支没有推送到任何地方,也没有配置远程/合并
> git branch --format='%(HEAD) %(refname:short) -> %(upstream:short)'
* main -> origin/main
release/v0.01 -> origin/release/v0.01
release/v0.02 -> origin/release/v0.02
test ->
upstream -> upstream/main
最直接的方法之一是
git for-each-ref --format='%(refname:short)' refs/heads/
这也适用于脚本。
git branch -a -所有分支。
git branch -r仅用于远程分支。
git branch -只支持本地分支。