Skip to content

About

《Git 不是程序员的专利》· 橙皮书系列 · AI 时代,用一句人话管好一切要改很多版的东西。一本不教终端的 Git 书,写给从没写过代码的人。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

13 Commits

Folders and files

Repository files navigation

Git 不是程序员的专利

橙皮书系列 · 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
PDF dist/Git-Orange-Book-v202608.pdf A4、89 页;由 Chrome 跑本地版的打印样式生成。也可从 Releases 直接下载

克隆之后先跑一次(配置本机 Git,这些设置无法随仓库分发):

./tools/setup.sh

重建全部导出:

./tools/build_all.sh

dist/ 不入库——它随时可以从 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 — 自由使用、复制、修改、分发,包括商用。注明出处更好,但不强制。

About

《Git 不是程序员的专利》· 橙皮书系列 · AI 时代,用一句人话管好一切要改很多版的东西。一本不教终端的 Git 书,写给从没写过代码的人。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages