---
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)
