📖 知识点
1. git pull 是什么?
git pull 把远程仓库的最新提交下载并合并到本地当前分支,让本地和远程保持一致。
💡 生活比喻pull 像 "到公司档案室领最新资料":别人(小张)在档案室放了一份新文件,你 pull 一下,档案室的最新版本就同步到你电脑了。不 pull,你手上永远落后。
2. 基本用法
git pull
运行示例:
Updating 5f6a7b8..9d0e1f2
Fast-forward
外卖App.py | 1 +
1 file changed, 1 insertion(+)
pull 到远程新提交,本地自动合并(这里是快进合并),工作区更新。
3. 指定远程和分支拉取
git pull origin master
明确从哪个远程的哪个分支拉取。平时直接
git pull会拉当前分支关联的远程。
4. 为什么每天要 pull?
多人协作时,开工前先 pull 是最佳习惯:
git pull # 开工前同步最新代码
# 然后再写代码、提交、push
先同步再干活,避免改到过时代码,也减少 push 被拒(因为远程比你新)的情况。
⚠️ 易错提醒
git pull把远程最新提交下载并合并到当前分支开工前先 pull,保持和远程同步,别在旧代码上埋头改
pull 也可能触发冲突(本地和远程改同一处),解决方式和 Day17 一样
⚔️ 剧情 Kata 实战任务
任务需求:
模拟 "远程有新提交":先在另一个克隆(模拟队友 / 远程)提交新代码
回到主仓库,用
git pull拉取远程更新观察:本地自动合并了远程的新提交
用
git log验证本地和远程同步体会 "拉下干粮 = 保持同步"
参考代码(在终端依次敲)
# 0. 模拟"队友在远程提交":用另一个克隆模拟远程更新
cd ~/外卖App备份 # 之前克隆的备份,当"远程"模拟
echo "def 优惠(): return '满减10元'" >> 外卖App.py
git add 外卖App.py
git commit -m "feat: 新增优惠满减"
# 1. 回到主仓库,拉取远程更新
cd ~/外卖App
git pull ~/外卖App备份 master # 从模拟远程拉取
# 2. 验证同步
git log --oneline
cat 外卖App.py
运行示例:
user@linux:~/外卖App$ git pull ~/外卖App备份 master
From /home/user/外卖App备份
* branch master -> FETCH_HEAD
Updating 5f6a7b8..9d0e1f2
Fast-forward
外卖App.py | 1 +
1 file changed, 1 insertion(+)
user@linux:~/外卖App$ git log --oneline
9d0e1f2 feat: 新增优惠满减
5f6a7b8 feat: 增加上线公告
...
user@linux:~/外卖App$ cat 外卖App.py
...
def 优惠(): return '满减10元'
💡 完成动作示意:
在 "外卖 App 备份"(模拟远程 / 队友)提交了 "优惠满减"
主仓库
git pull从模拟远程拉取显示 Fast-forward,新提交 9d0e1f2 同步到本地
git log看到新提交、cat看到新函数 —— 远程最新代码拉下来了!
🧠 思考题
git pull做了什么?为什么团队开发 "开工前先 pull" 很重要?pull 也可能遇到冲突吗?如果本地和远程改了同一处,该怎么处理?(提示:参照 Day17 手动解决)