协作篇-Day20|推上山头:git push 推送本地提交到远程

14 次阅读 2026-10-30 14:34

📖 知识点

1. git push 是什么?

git push 把本地仓库的提交上传到远程仓库,让远端的大本营更新到和你一致。这样队友从远程拉取,就能拿到你的最新代码。

💡 生活比喻push 像 "把完工的文件交到公司档案室":你电脑(本地)改好了,点一下 push,档案室(远程)就多了一份正式副本,全队都能取用。

2. 首次推送:git push -u origin 分支名

git push -u origin master

 

运行示例:

Enumerating objects: 5, done.
...
To https://github.com/行者孙/外卖App.git
 * [new branch]      master -> master

 

-u(--set-upstream)建立本地分支和远程分支的关联,之后 git push 就不用再带参数了。origin 是远程别名,master 是要推送的分支。

3. 之后的推送(已关联后)

git push

 

首次用 -u 关联后,再推送直接 git push 就行。

4. 推送其他分支

git push -u origin 会员系统

 

每个想上传的新分支,都可用 -u origin 分支名 推一次并建立关联。

⚠️ 易错提醒

  1. 首次推送用 git push -u origin 分支名,-u 建立关联

  2. push 前先确认 git status 干净、本地提交都已 commit

  3. 如果远程已有别人新提交(比你新),push 可能被拒 → 先 pull(Day21 学)

⚔️ 剧情 Kata 实战任务

任务需求:

  1. 确认当前在 master 分支、工作区干净

  2. 用 git push -u origin master 首次推送(模拟上传远程)

  3. 观察推送输出:new branch 上传成功

  4. 再修改一个文件提交,用 git push 推送(这次不用带参数)

  5. 体会 "推送 = 本地成果上云"

参考代码(在终端依次敲)

# 0. 进仓库,确认状态
cd ~/外卖App
git status
git branch

# 1. 首次推送master到远程(建立关联)
git push -u origin master

# 2. 再改一点,提交
echo "def 公告(): return '新品上线'" >> 外卖App.py
git add 外卖App.py
git commit -m "feat: 增加上线公告"

# 3. 之后推送(已关联,直接push)
git push

 

运行示例:

user@linux:~/外卖App$ git push -u origin master
Enumerating objects: 8, done.
...
To https://github.com/行者孙/外卖App.git
 * [new branch]      master -> master

user@linux:~/外卖App$ git commit -m "feat: 增加上线公告"
[master c3d4e5f] feat: 增加上线公告

user@linux:~/外卖App$ git push
...
   5f6a7b8..c3d4e5f  master -> master

 

💡 完成动作示意:

  1. git push -u origin master → 首次推送,远程新建 master 分支,代码上云

  2. 又提交一次后,git push(不带参数)→ 增量推送成功

  3. 本地最新代码已推送到远程大本营,全队都能拿到!

🧠 思考题

  1. git push -u origin master 里的 -u 和 origin 分别起什么作用?为什么首次要加 -u?

  2. 如果远程仓库里别人已经提交了新代码(比你新),直接 push 会怎样?你该先做什么?(提示:先 pull 同步,Day21)