📖 知识点
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 分支名推一次并建立关联。
⚠️ 易错提醒
首次推送用
git push -u origin 分支名,-u建立关联push 前先确认
git status干净、本地提交都已 commit如果远程已有别人新提交(比你新),push 可能被拒 → 先 pull(Day21 学)
⚔️ 剧情 Kata 实战任务
任务需求:
确认当前在 master 分支、工作区干净
用
git push -u origin master首次推送(模拟上传远程)观察推送输出:new branch 上传成功
再修改一个文件提交,用
git push推送(这次不用带参数)体会 "推送 = 本地成果上云"
参考代码(在终端依次敲)
# 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
💡 完成动作示意:
git push -u origin master→ 首次推送,远程新建 master 分支,代码上云又提交一次后,
git push(不带参数)→ 增量推送成功本地最新代码已推送到远程大本营,全队都能拿到!
🧠 思考题
git push -u origin master里的-u和origin分别起什么作用?为什么首次要加-u?如果远程仓库里别人已经提交了新代码(比你新),直接 push 会怎样?你该先做什么?(提示:先 pull 同步,Day21)
行者孙Python