如何让已有的本地分支跟踪远程分支

设置跟踪关系:git branch --set-upstream-to=origin/<远程分支> <本地分支>;推送时顺便设置用 git push -u origin <分支>。设好后 git status 显示领先/落后,git pull/push 免参数。

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

一条命令:git branch --set-upstream-to=origin/远程分支 本地分支名。推送的同时设置也行:git push -u origin 分支名。建好后裸 git pull/git push 就有明确目标了。

设置跟踪

# 站在该分支上
git branch --set-upstream-to=origin/feature-x

# 或指定本地分支名
git branch --set-upstream-to=origin/feature-x feature-x

# 推送时一步搞定
git push -u origin feature-x

验证

git branch -vv
# * feature-x a1b2c3d [origin/feature-x: ahead 1] 提交说明

git status
# Your branch is ahead of 'origin/feature-x' by 1 commit.

修改与取消

git branch --set-upstream-to=origin/another-branch   # 改跟踪目标
git branch --unset-upstream                          # 取消跟踪

常见问题(FAQ)

Q:设置时报 "no such branch"?

远程还没有这个分支(或没 fetch)。先 git fetch,或 git push -u origin 分支名 顺带创建。

Q:本地和远程分支名不一样能跟踪吗?

能,--set-upstream-to 的两边名字随意对应。但长期协作建议同名。

Q:checkout 远程分支自动建跟踪是什么原理?

那是 Git 的 DWIM 行为:git checkout feature-x 发现本地没有、origin 恰好有一个,就自动 checkout -b + 跟踪。手动设 upstream 是当自动机制不适用(多远程、不同名)时的手段。

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

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

立即开始

选择观测云版本

代码托管平台