全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-11 5 分钟 ✍️ juanwangdev

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 featuregit push -u origin feature
后续推送git push origin featuregit push
后续拉取git pull origin featuregit 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,后续操作更简便。

要点总结

  1. -u 推送并设置上游分支
  2. 设置后 push/pull 无需指定远程和分支
  3. git branch -vv 查看跟踪关系
  4. 新分支首次推送推荐使用 -u
  5. 已有分支用 git branch -u 设置上游

📝 发现内容有误?点击此处直接编辑

← 上一篇 git pull 拉取更改
下一篇 → git push 推送更改
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库