专题资料库 · 总览
这一库对着本站「专题」分类原有的内容来配:这里原本放的是 Git 和脚本工具箱。所以这 100 条收的也是这两条线——Git 的内部原理与演进,以及终端、Shell、调试这些天天用但很少有人系统读过的东西。
收录截止 2026-08-20,共 100 条。
为什么只用两个来源
前三卷几乎全是 github.blog 的 Git 分类,后两卷几乎全是 jvns.ca。这不是偷懒,是这个领域的实际情况:
- Git 的权威说明只有两处:邮件列表(
git@vger.kernel.org,信息密度高但极难检索)和 GitHub 的 Git 团队博客。Taylor Blau 从 Git 2.22 起逐版写 Highlights,Derrick Stolee 写了内部原理和规模化那一整套——这两个人本身就是 Git 的核心贡献者,写的是自己提交的代码。 - Julia Evans(jvns.ca)解决的是另一个问题:Git 的官方文档假设你已经理解它的数据模型,而她的文章反过来——先讲清模型,再解释为什么命令行的措辞会让人误解。她做过多次读者调查,文章里的"大家常卡在哪"是有数据的,不是猜的。
这两处加起来能覆盖"Git 到底怎么工作"和"为什么我用起来这么难"两个方向,其他来源多半是这两处的转述。
这个库怎么用
每条的结构固定:
- 来源 —— 谁写的、发在哪、大概什么时候
- 读它解决什么 —— 你带着什么问题去读
- 要点 —— 从标题与元信息能确认的范围
- 我的补充 —— 我自己踩过的坑和可操作的做法
要点里我只写能从标题和元信息确认的东西;我的补充是我自己的判断,跟原文作者无关。想知道细节,点阅读原文。
五卷目录
| 卷 | 主题 | 条目 | 主要来源 |
|---|---|---|---|
| ① | Git 数据模型与内部原理 | 1–20 | jvns.ca、GitHub Git 团队 |
| ② | Git 版本演进(2.36–2.55) | 21–40 | Taylor Blau · GitHub Blog |
| ③ | Git 规模化、工作流与安全 | 41–60 | Derrick Stolee 等 · GitHub Blog |
| ④ | 终端与 Shell 机制 | 61–80 | Julia Evans |
| ⑤ | 调试方法论与实战 | 81–100 | Julia Evans |
三条我认为最值钱的线
① 先读第一卷的前 5 条,再回头用 Git。 Git 难学的根源是绝大多数人从命令开始学,而命令的名字是历史包袱(checkout 干两件不相关的事,reset 干三件)。先把"对象数据库 + 指针"这个模型建立起来,命令就只是模型上的操作,不用再背。这 5 条读完大概一小时,能省掉之后几年的困惑。
② 第二卷不是让你顺着读的。 20 篇 Highlights 顺着读会睡着。它的正确用法是查:你现在用的 Git 版本到目标版本之间的那几篇,扫一遍"这一版加了什么"。真正影响日常的功能都藏在这里——git maintenance、--orphan、git replay、reftable 后端,这些东西不看发布说明基本不会知道。
③ 第五卷比技术细节更耐用。 调试方法论这一卷没有一条讲具体工具的原理,全是"怎么想"。这类内容的半衰期比任何框架都长——语言会换,"先确认问题是否可复现"这条不会变。
阅读顺序建议
- Git 一直用得心里没底 → 第一卷全读,第三卷的安全那节扫一遍
- 在做 monorepo 或大仓库优化 → 第三卷前半(partial clone、sparse-checkout、sparse index、Scalar)
- 要升级团队的 Git 版本 → 第二卷,按版本区间查
- 写 Shell 脚本老是出怪问题 → 第四卷,尤其缓冲、job control、退出码那几条
- 想提高排障能力 → 第五卷,从第 81 条开始
没收进来的
坦白说明缺口,免得你以为这库是完整的:
- Git 2.22–2.35 的 Highlights(约 10 篇)没收。这一卷我优先收了 2.36 之后的版本,因为 2.35 已经是 2022 年初,现在还在用那之前版本的团队不多。需要的话在
github.blog/open-source/git/的第 3–4 页能翻到。 - Git 邮件列表没收。它才是真正的一手来源(每个特性的设计讨论都在那),但它没有稳定的按主题归档,逐条给链接意义不大。想跟进的话订阅
public-inbox.org/git。 jvns.ca的一部分文章已经收在运维资料库里了(DNS、容器、Nix、SQLite 那批),这一库不重复收。两库合起来是完整的。
下一卷: ① Git 数据模型与内部原理 →
