远程与跟踪分支
约 524 字大约 2 分钟
布欧-Lewyon
2026-05-15
首页 › Git › 分支与合并(在新窗口打开) › 远程与跟踪分支
远程分支
远程分支指向远程仓库的分支状态,格式是 <remote>/<branch>:
# 查看所有远程分支
git branch -r
# origin/main
# origin/feature-login
# 查看所有本地和远程分支
git branch -a
# * main
# feature-login
# remotes/origin/main
# remotes/origin/feature-login本地分支与远程分支的关系
跟踪分支
设置本地分支与远程分支的关联:
# 推送时设置上游分支
git push -u origin feature-login
# 为已有分支设置跟踪
git branch -u origin/main
# 克隆后自动设置跟踪
git clone https://github.com/user/repo.git
# main → origin/main(自动跟踪)
# 查看跟踪关系
git branch -vv
# * main a1b2c3d [origin/main] initial commit
# feature d4e5f6f [origin/feature: ahead 2] add feature跟踪状态
# ahead:本地提交领先于远程
git status
# Your branch is ahead of 'origin/main' by 2 commits.
# behind:本地提交落后于远程
# Your branch is behind 'origin/main' by 1 commit.
# ahead + behind:既有领先又有落后
# Your branch and 'origin/main' have diverged.远程分支的本地操作
# 基于远程分支创建本地分支(并自动设置跟踪)
git checkout -b feature origin/feature
git switch -c feature origin/feature # Git 2.23+
git switch feature # 如果本地没有,Git 会自动匹配远程
# 删除远程分支
git push origin --delete feature-login上游(upstream)的概念
# 查看当前分支的上游
git rev-parse --abbrev-ref --symbolic-full-name @{upstream}
# refs/remotes/origin/main
# 不带参数推送的前提:设置了上游
git push # 推送到上游
git pull # 从上游拉取小结
- 远程分支格式:
<remote>/<branch>(如origin/main)。 git push -u origin feature推送并设置上游跟踪。git branch -vv查看跟踪关系和 ahead/behind 状态。- 没有上游分支时,
git push需要显式指定远程和分支名。 - 设置跟踪后,
git push/git pull可省略参数。
