橙皮书系列 · AI 时代,用一句人话管好一切要改很多版的东西
Git for Everyone — Version Control in the Age of AI
剑宁 著
| 文档版本 | v202608 |
| 发布时间 | 2026-08-22 |
| 作者 | 剑宁 |
| 公众号 | 剑宁 |
| GitHub | github.com/ijerrywong |
📕 PDF 下载 — A4 · 89 页 · 3.5 MB · 全部版本
也可以直接读源码:book/ 下一章一个 markdown 文件。
一本写给从来没写过一行代码的人的 Git 书。全书不教终端,不要求你敲任何命令——你只需要用中文,对一个能动你文件夹的 AI 工具把想干的事说清楚——WorkBuddy(桌面应用,最不像开发工具)、Claude Code、Codex CLI、CodeBuddy CLI 都可以。
打开你最近在忙的那个文件夹,你大概会看到这样一串:
方案.docx
方案_最终版.docx
方案_最终版2.docx
方案_最终版_真的最终.docx
方案_最终版_听老板的.docx
方案_最终版_听老板的_但我还是喜欢上一版.docx
这就是版本管理。你一直在做,只不过你用的工具是文件名加你的记忆。
Git 是人类做出来的最好的"管理改主意"的工具,而它二十年来被锁在命令行后面。现在 AI 把锁撬开了。
Git 干的其实只有两件事:
- 时光机 — 项目的任何一个历史时刻,你都能一字不差地回去
- 平行宇宙 — 同时试三个方向,互不干扰,最后择优,或者把三个的好处拼起来
多数人只知道第一件("哦,一个带历史的备份")。备份网盘也能做,分叉只有 Git 能做。 真正改变工作方式的是第二件。
五个部分,十五章:
| 部分 | 内容 | 章节 |
|---|---|---|
| 一 · 门被撬开了 | 为什么二十年只有程序员在用;三个不写代码的人在拿它干什么 | §01 · §02 |
| 二 · 五个概念,够你用一辈子 | 仓库与提交 · 分支 · 撤销的四个梯度 · 远程与 GitHub | §03 · §04 · §05 · §06 |
| 三 · 用人话开车 | 挑一个工具 · 怎么交代活 · 它会在哪五个地方翻车 · 让它读得懂你的仓库 | §07 · §08 · §09 |
| 四 · 四个场景走到底 | 管数据口径 · 教师备课 · 做历史研究 · 写小说 | §10 · §11 · §12 · §13 |
| 五 · 代价与开始 | 四笔迟到的账单 · 三十分钟建你的第一个仓库 | §14 · §15 |
📖 从序开始读 →
这本书第四部分,把四个完全不写代码的场景从建仓走到发布,每一步你该说什么都写出来。
含税、不含税、剔除关联交易——三个口径在同一个 xlsx 里互相污染;老板问"这个 3,240 万怎么来的"你答不上来;三周后你不知道当初发给董事会的是哪一版。
用 Git:分支即口径(物理隔离)、存档即累计(依据留痕)、标签即发布(带指纹)、PR 即复核(有人签字)。
Git 不会阻止你算错。它保证你算错时,能查出是哪一步、哪一天、依据哪封邮件错的。
重点班和普通班讲法不同,公开课还要另做一版;今年发现学生卡在哪儿,改完明年就忘了为什么改;教研组三个人各改各的,最后靠手工缝。
用 Git:分支即班型、存档说明记下"学生哪里卡住了"、标签锁住每学期实际讲的那一版、PR 让教研组逐句评审。
老师真正的资产不是那份课件,是「为什么这样讲」的积累——而传统上,这部分资产每年都在丢。
县志说他那年过境,书信显示他在千里之外,赋税档案上他有本地田产。难的不是材料不够,是没办法同时持有三条互相矛盾的推理线。
用 Git:一条线索一条分支、一次存档一条史料(说明里写死出处)、旁批不改原记录、合并冲突就是史料矛盾的定位器。
你的学生五年后接手,能一条记录一条记录地重走你的路——包括你走过的死路。
写到第七章,你怀疑第三章那个转折不对。改,后面四章全要重写;改完发现不如原来,回不去。这个念头值三个月。
用 Git:三条分支同时推进,随时切回来对比,最后整条合并、或者只把某一段"摘"过来。
试错成本从三个月,降到一条命令。
| 🟢 随便跑 | 🟡 想一下 | 🔴 停下来 |
|---|---|---|
status log diff show |
reset(不带 --hard) |
reset --hard |
branch switch tag |
commit --amend |
clean -fd |
revert stash reflog |
merge rebase |
push --force filter-repo |
跟 AI 干 Git 活时,屏幕上出现这几个词,停三秒自己看清楚:
--hard --force clean -fd filter rm -rf
三秒钟,换掉未来 90% 的 Git 事故。
先别动任何东西。告诉我:我现在在哪条分支?有没有没提交的改动?跟远程差多少?最近三次提交分别是什么?
- 手上有个反复改了七版的文件夹,而且从来没写过代码的人
- 写小说、写论文、做课题、做研究的人
- 每个月都要在同一份数据上换几种口径、还要发给不同人的人
- 已经在用 AI 编程工具,但一碰 Git 就发怵、只会点"确认"的人
- 会用 Git 的程序员——请直接跳到 §07–09(怎么跟 AI 协作)和 §14(四笔代价)
这本书从头到尾在讲一件事的两半。
一半是:AI 把操作承包了。 一百多条命令、参数、拼写,你一条都不用记。
另一半是:它没承包判断。 哪个版本更好、哪个口径更诚实、哪份史料该信——只有你能定,而且会随着你用得越久越值钱。
AI 时代真正稀缺的,不是"会用 Git"。是知道自己现在处在什么状态。
书中引用的技术细节和数字均来自官方文档,主要是:
- Git 官方文档 —
git switch/git restore(Git 2.23 引入)、gitattributes的textconv与wordRegex机制 - GitHub Docs — 文件与仓库大小限制(网页上传 25 MiB / 警告 50 MiB / 硬拦 100 MiB;仓库建议 < 1 GB,强烈建议 < 5 GB)、Pull Request 的定义与 Draft PR 行为
工具迭代很快,具体数字以各产品官方文档为准。
| 版本 | 路径 | 适合 |
|---|---|---|
| 分章 Markdown | book/*.md |
唯一的源。改书只改这里 |
| 单文件 Markdown | dist/git-orange-book.md |
Typora / Obsidian / VS Code 预览,带目录与锚点 |
| 本地 HTML | dist/git-orange-book.local.html |
双击就能读,零外部请求,离线可用;⌘P / Ctrl+P 存为 PDF(每章自动分页) |
| 网页 HTML | git-orange-book.html |
在线发布版,走 Google Fonts |
dist/Git-Orange-Book-v202608.pdf |
A4、89 页;由 Chrome 跑本地版的打印样式生成。也可从 Releases 直接下载 |
克隆之后先跑一次(配置本机 Git,这些设置无法随仓库分发):
./tools/setup.sh重建全部导出:
./tools/build_all.shdist/ 不入库——它随时可以从 book/*.md 重建。这正是书里 §14 第一笔代价说的道理:能重新生成的东西不必进历史。
git-orange-book.html 是例外,它保持跟踪(那是要交出去的成品)。代价用 .gitattributes 消掉了:-diff 让它不在 git diff 里刷 15 万字节,merge=regen 让它合流时不制造冲突。任何一次 merge 之后,跑一次 build_all.sh。
这个仓库的 .gitattributes 本身就是书里 §09 教的东西用在自己身上,包括那条中文按字比对的 diff=cjk。
剑宁 · 公众号「剑宁」 · github.com/ijerrywong
MIT — 自由使用、复制、修改、分发,包括商用。注明出处更好,但不强制。