git push -u 设置上游分支
-u 选项(--set-upstream)推送分支的同时设置上游跟踪关系。
基本用法
Bash
# 推送并设置上游分支
git push -u <remote> <branch>
git push --set-upstream <remote> <branch>
# 推送到 origin 并设置上游
git push -u origin feature
使用示例
Bash
# 创建新分支
git checkout -b feature
# 第一次推送(设置上游)
git push -u origin feature
# 输出
Branch 'feature' set up to track remote branch 'feature' from 'origin'.
To https://github.com/user/repo.git
* [new branch] feature -> feature
# 后续推送简化
git push
-u 的作用
| 操作 | 无 -u | 有 -u |
|---|---|---|
| 推送 | git push origin feature | git push -u origin feature |
| 后续推送 | git push origin feature | git push |
| 后续拉取 | git pull origin feature | git pull |
| 状态显示 | 无关联信息 | 显示与远程差异 |
推送新分支流程
Bash
# 1. 创建本地分支
git checkout -b feature/login
# 2. 开发并提交
git add .
git commit -m "添加登录功能"
# 3. 推送并设置上游(一次性)
git push -u origin feature/login
# 4. 后续推送简化
git push
验证上游设置
Bash
# 查看分支跟踪关系
git branch -vv
# 输出
* feature/login a1b2c3d [origin/feature/login] 添加登录功能
main b2c3d4e [origin/main] 主分支
# 查看状态
git status
# On branch feature/login
# Your branch is up to date with 'origin/feature/login'.
已有分支设置上游
Bash
# 分支已存在但无上游
git branch -u origin/feature
# 或使用完整命令
git branch --set-upstream-to=origin/feature feature
同时推送多个分支
Bash
# 推送所有分支并设置上游(不推荐)
git push --all -u origin
# 推送当前分支并设置上游
git push -u origin HEAD
推送失败时
Bash
# 远程分支已存在但不同
$ git push -u origin feature
! [rejected] feature -> feature (fetch first)
# 先拉取再推送
git pull origin feature --rebase
git push -u origin feature
新分支首次推送使用 -u,后续操作更简便。
要点总结
-u推送并设置上游分支- 设置后 push/pull 无需指定远程和分支
git branch -vv查看跟踪关系- 新分支首次推送推荐使用 -u
- 已有分支用
git branch -u设置上游
📝 发现内容有误?点击此处直接编辑