👨👩👧👦 04 · git 与协作:全家一起开发
🎯 本章学完,你将能:理解版本管理的价值,说出 commit / 分支 / PR 的用途
开场:游戏存档
玩过游戏吧?游戏最棒的功能之一就是存档:打输了可以读档重来,绝不从头开始。
写代码也一样需要“存档”。一个网站改来改去,改坏了怎么办?多人一起改,怎么知道谁改了什么?git 就是代码的游戏存档系统——而且比游戏存档更厉害:它能回到任意一次存档,还能让好几个人同时在不同的分支上开发。
git 的基本操作
| 操作 | 比喻 | 干什么 |
|---|---|---|
| commit | 存档 | 把当前代码快照保存下来,附一句说明(如“修复了按钮颜色”) |
| branch | 平行世界 | 从主线上分叉出去,各改各的不打架 |
| merge | 合并 | 把分支的改动合回主线 |
| PR | 合并申请单 | 提交合并申请,负责人 review 后批准 |
candiewill 仓库的真实“存档”长这样:
git log
# 8ff4344 Initial commit
# 52947b6 Add index.html - CANDIE WILL 个人主页源码
# c9e159b chore: 清理旧版着陆页与 edgeone 目录
每一行都是一个 commit,每一条都能回去。
为什么需要分支?
想象你和妹妹同时改同一份家庭作业:你改第 1 页,她改第 2 页。如果直接在同一张纸上改,就乱了。
分支的解决办法:复制两份作业(两个分支),各改各的,改完再“合并”回一份。git 甚至能自动合并——只要你们改的不是同一行。
如果真改了同一行呢?那就叫冲突,git 会请你人工决定“保留谁的版本”。别怕,冲突是正常的,AI 助手能帮你解决。
真实案例:candiewill 全家协作
candiewill 网站就是我们家的真实工程:爸爸管门户,孩子开发各自的产品,三个 gitee 账号一起提交代码。
工作流是:每个人在自己的分支上开发(比如 feat/code-lab/v1)→ 本地构建检查通过 → 推送到 gitee → 发起 PR → 爸爸 review 后合并 → 上线部署。
第 7 章毕业任务,你就要体验这个流程——让你自己的代码真正上线!
本章小结
- git = 代码的游戏存档系统,commit 是存档点,能回到任意版本
- 分支 = 平行世界,多人开发不打架;PR = 合并申请单
- 冲突 = 两人改了同一处,需要人工决定
🧪 动手试试(请和家长一起做):请爸爸在电脑上演示:
git log --oneline
看看 candiewill 仓库的“存档历史”——每一条都对应一次真实的开发改动。数一数一共有多少次 commit?
✏️ 小测验(答对一题得 1 分)
1. git commit 之后,代码可以找回。(判断:对 / 错)
💡 对!commit 是"存档点",git 是时光机,能回到任何一次存档。
2. 分支(branch)有什么用?
💡 分支就是平行世界,每个人在自己的分支上开发,最后合并。
3. PR(Pull Request)是什么?
💡 PR 是"合并申请单":开发完提交申请,负责人 review 后合并进主分支。