行者孙Python

协作篇-Day21|拉下干粮:git pull 拉取远程更新,保持同步

📖 知识点

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 被拒(因为远程比你新)的情况。

⚠️ 易错提醒

  1. git pull 把远程最新提交下载并合并到当前分支

  2. 开工前先 pull,保持和远程同步,别在旧代码上埋头改

  3. pull 也可能触发冲突(本地和远程改同一处),解决方式和 Day17 一样

⚔️ 剧情 Kata 实战任务

任务需求:

  1. 模拟 "远程有新提交":先在另一个克隆(模拟队友 / 远程)提交新代码

  2. 回到主仓库,用 git pull 拉取远程更新

  3. 观察:本地自动合并了远程的新提交

  4. 用 git log 验证本地和远程同步

  5. 体会 "拉下干粮 = 保持同步"

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

# 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元'

 

💡 完成动作示意:

  1. 在 "外卖 App 备份"(模拟远程 / 队友)提交了 "优惠满减"

  2. 主仓库 git pull 从模拟远程拉取

  3. 显示 Fast-forward,新提交 9d0e1f2 同步到本地

  4. git log 看到新提交、cat 看到新函数 —— 远程最新代码拉下来了!

🧠 思考题

  1. git pull 做了什么?为什么团队开发 "开工前先 pull" 很重要?

  2. pull 也可能遇到冲突吗?如果本地和远程改了同一处,该怎么处理?(提示:参照 Day17 手动解决)

‹ 返回目录
🏠首页 Python 📦资源 👤关于我