如何查看本地分支跟踪的远程分支

查看本地分支的跟踪关系:git branch -vv 列出每个本地分支对应的远程分支及领先/落后数;只查当前分支用 git rev-parse --abbrev-ref @{u} 或 git status 首行。

最佳实践
Git 分支协作与合并示意

最直接:git branch -vv,它列出每个本地分支正在跟踪的远程分支、最后一次提交、以及与远程的领先/落后提交数。只看当前分支则用 git rev-parse --abbrev-ref @{u}。

git branch -vv

git branch -vv

输出示例:

* main          7f9c2d1 [origin/main] 更新 README
  feature-x     8a9b1c2 [origin/feature-x: ahead 2] 新功能
  local-only    c3d4e5f 本地实验
  • [origin/main]:跟踪关系;
  • ahead 2 / behind 1:领先/落后远程的提交数;
  • 没有方括号的分支(如 local-only):未设置上游。

只看当前分支

git rev-parse --abbrev-ref @{u}     # 输出 origin/main
git status                          # 首行也会显示跟踪信息
git remote show origin              # 看各分支的 pull/push 映射全貌

设置与修改跟踪

git branch --set-upstream-to=origin/feature-x feature-x   # 改跟踪
git push -u origin feature-x                              # 推送并顺带建立跟踪
git branch --unset-upstream                               # 取消跟踪

常见问题(FAQ)

Q:@{u} 是什么语法?

@{u}(或 @{upstream})指代当前分支的上游引用,Git 的修订版本语法。可用于 diff:git diff HEAD @{u} 看你领先远程的改动。

Q:ahead/behind 数字不准怎么办?

它基于本地的远程跟踪引用,先 git fetch 刷新再看。

Q:检出远程分支时为什么自动有了跟踪?

git checkout feature-x(本地不存在、远程唯一)时 Git 自动从 origin/feature-x 建本地分支并设好跟踪,这就是所谓 DWIM 行为。

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台