如何查看哪些Git分支正在跟踪哪个远程/上游分支?

如何查看哪些Git分支正在跟踪哪个远程/上游分支?

我知道我能做到git branch --all,这向我展示了本地和远程分支,但是向我展示它们之间的关系并没有那么有用。

如何以显示哪个本地分支正在跟踪哪个远程的方式列出分支?


喵喵时光机
浏览 3623回答 3
3回答

慕田峪4524236

git remote show origin将“原点”替换为遥控器的名称。

ABOUTYOU

如果您查看手册页git-rev-parse,您将看到描述以下语法:<branchname>@{upstream},例如master@{upstream},@{u}@{upstream}branchname(简短形式&nbsp; <branchname>@{u})的后缀是指由branchname指定的分支设置为在其上构建的分支。缺少的branchname默认为当前的。因此,要找到分支的上游master,您可以:git rev-parse --abbrev-ref master@{upstream}# => origin/master要打印出每个分支的信息,您可以执行以下操作:while read branch; do&nbsp; upstream=$(git rev-parse --abbrev-ref $branch@{upstream} 2>/dev/null)&nbsp; if [[ $? == 0 ]]; then&nbsp; &nbsp; echo $branch tracks $upstream&nbsp; else&nbsp; &nbsp; echo $branch has no upstream configured&nbsp; fidone < <(git for-each-ref --format='%(refname:short)' refs/heads/*)# Output:# master tracks origin/master# ...这比手动解析refs和config更干净。
打开App,查看更多内容
随时随地看视频慕课网APP