主题
第十一章:Git 版本控制与协作开发

序言
小明用 Cloudflare Tunnel 给朋友看了"个人豆瓣"的评分功能。朋友试了试,说:"挺酷的。我最近在学推荐算法,帮你做个'猜你喜欢'吧。"
小明很高兴,把项目文件夹压缩成 zip 发了过去。朋友解压,改了几个文件,又压缩发回来。小明一看——朋友改的 recommend.ts 和他刚改的 recommend.ts 内容不一样,不知道该用谁的版本。更麻烦的是,朋友还改了 package.json,加了个新依赖,而小明这边的 package.json 也更新过了。
两个人对着微信消息一行行核对:"你那个第 47 行是什么?""我这边没有第 47 行啊,我删了一段……"
老师傅路过,看了一眼聊天记录,说了三个字:"用 Git。"
小明说:"Git?我好像听说过,不是程序员用的那个版本管理工具吗?"
老师傅说:"你的项目目录里可能已经有了。Claude Code 在帮你创建项目的时候,通常会自动初始化 Git 仓库。你一直在用它,只是没意识到。"
"那为什么我还在发压缩包?"
"因为你只用了 Git 的本地功能——存档和回滚。现在你需要的是它的另一半能力:把代码推到云端,让别人也能拿到,还能同时改代码不打架。"
本章从小明的"压缩包协作"困境出发,带你理解 Git 解决了什么问题、怎么把代码推到云端让朋友拿到、以及多人同时开发时怎么不打架。
本章小节
| 小节 | 内容 |
|---|---|
| 11.1 为什么需要 Git | "最终版"困境、Git 解决了什么、三区模型、第一次 commit、回滚、提交规范 |
| 11.2 推上云端,开始协作 | 单点故障、GitHub、SSH 认证、push/pull、clone、冲突解决、.gitignore、安全警告 |
| 11.3 分支、PR 与团队工作流 | 分支、Pull Request、Code Review、跨平台协作、日常开发节奏 |
