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