Git branch -a显示远程分支和本地分支。
Git branch -r显示远程分支。
是否有一种方法只列出本地分支?
Git branch -a显示远程分支和本地分支。
Git branch -r显示远程分支。
是否有一种方法只列出本地分支?
当前回答
只是git分支没有选项。
从手册中:
如果没有参数,则列出现有分支,当前分支将用星号突出显示。
其他回答
下面是如何列出没有相同名称的远程分支的本地分支:
git branch | sed 's|* | |' | sort > local
git branch -r | sed 's|origin/||' | sort > remote
comm -23 local remote
为了补充gertvdijk的回答,我添加了一些截图,以防它能快速帮助到某人。
在我的Git Bash shell中,如果我运行以下命令:
git branch
这个命令(不带参数)显示我的所有本地分支。当前签出的分支以不同的颜色(绿色)显示,并带有一个星号(*)前缀,这非常直观。
当你尝试使用-a(代表all)参数查看所有分支,包括远程分支时:
git branch -a
然后还没有签出的远程分支也会以不同的(红色)颜色显示:
PowerShell用户可以使用它的Compare-Object cmdlet来做这样的事情:
function match-branch {
$localBranches = ((git branch -l) -replace "\*", "") -replace " ", ""
$remoteBranches = (((git branch -r) -replace "\*", "") -replace " ", "") -replace "origin/", ""
Compare-Object -ReferenceObject $localBranches -DifferenceObject $remoteBranches -IncludeEqual
| Select-Object @{Label = "branch"; Expression = { $_.InputObject } },
@{Label = ”both”; Expression = { $_.SideIndicator -eq "==" } },
@{Label = ”remoteOnly”; Expression = { $_.SideIndicator -eq "=>" } },
@{Label = ”localOnly”; Expression = { $_.SideIndicator -eq "<=" } }
}
示例输出
branch both remoteOnly localOnly
------ ---- ---------- ---------
master True False False
HEAD->master False True False
renamed False True False
git branch -a -所有分支。
git branch -r仅用于远程分支。
git branch -只支持本地分支。
只是简单的命令
git branch