Skip to content

专题资料库 · 总览

这一库对着本站「专题」分类原有的内容来配:这里原本放的是 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–20jvns.ca、GitHub Git 团队
Git 版本演进(2.36–2.55)21–40Taylor Blau · GitHub Blog
Git 规模化、工作流与安全41–60Derrick Stolee 等 · GitHub Blog
终端与 Shell 机制61–80Julia Evans
调试方法论与实战81–100Julia Evans

三条我认为最值钱的线

① 先读第一卷的前 5 条,再回头用 Git。 Git 难学的根源是绝大多数人从命令开始学,而命令的名字是历史包袱(checkout 干两件不相关的事,reset 干三件)。先把"对象数据库 + 指针"这个模型建立起来,命令就只是模型上的操作,不用再背。这 5 条读完大概一小时,能省掉之后几年的困惑。

② 第二卷不是让你顺着读的。 20 篇 Highlights 顺着读会睡着。它的正确用法是:你现在用的 Git 版本到目标版本之间的那几篇,扫一遍"这一版加了什么"。真正影响日常的功能都藏在这里——git maintenance--orphangit 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 数据模型与内部原理 →

其他分类的资料库: 运维 · 前端 · 编程 · 黑客