The Birth of Git: A Programmer’s Revenge and a Revolution in Collaboration

在 2005 年之前,Linux 内核的源代码一直依赖一款商业版本控制系统——BitKeeper。它功能强大、速度惊人,是当时为数不多支持分布式协作的工具。Linux 社区之所以能免费使用它,只是因为开发商 BitMover 出于善意许可。然而这种免费许可最终成为了一场危机的起点。
当一位 Linux 开发者试图研究 BitKeeper 的内部协议时,BitMover 公司立刻撤销了对开源社区的授权。于是,Linux 内核陷入了停滞,没人能再提交代码,也没人能合并补丁,整个项目陷入瘫痪。Linus Torvalds——那位创造了 Linux 的芬兰人,被逼到了墙角。他决定不再依赖外部的工具,而是亲自创造一个新的系统:“既然我们再也不能用别人的工具,就自己造一个更好的。”
Linus 的设计目标冷静而坚定:它必须极快,因为 Linux 内核规模庞大;必须完全分布式,让每个开发者都能独立工作;必须绝对安全,防止任何数据被篡改;并且分支与合并必须轻而易举。他在 2005 年 4 月开始写代码,仅仅用了两周,第一个版本的 Git 就已经能管理整个 Linux 内核。
Git 与传统版本控制系统完全不同。它不保存“文件的变化”,而是保存“项目在每个时间点的完整快照”。这种设计使它不仅高效而且几乎不可破坏。每一次提交,都是一个完整的、可重现的世界。Linus 用这种方式解决了协作的根本难题——信任。他不再让系统依赖中央服务器,不再让任何人拥有所谓的“最终版本”。在 Git 的世界里,每个人都拥有完整的历史,每个人都能独立创造。
短短几个月后,Linux 内核完全迁移到了 Git。三年后,三个年轻人基于 Git 创建了一个网站——GitHub。从那一刻起,协作不再局限于少数开发者,而成为全世界的共享语言。Git 从 Linus 的个人复仇,演变为整个开源世界的基础设施。如今,无论是 Android、Chromium、TensorFlow 还是 VS Code,几乎所有大型软件项目都运行在 Git 的协作体系上。
Linus 从未把 Git 看作一款工具。他更像是在重新定义“协作”的意义。Git 不是控制系统,而是信任系统。它的存在证明了分布式协作的力量——在没有中央权威的情况下,人们依然能够高效、有序地共同创造。
Linus 向来具有自嘲精神。他在 README 中写道:“I’m an egotistical bastard, and I name all my projects after myself. First Linux, now Git.”在英式俚语中,“Git” 意为“讨人厌的家伙”。这个名字既是玩笑,也是宣言——一种对技术权威的反叛和对自由精神的致敬。
Git 的诞生告诉我们一个简单而深刻的道理:伟大的系统,不是为了控制别人,而是为了让所有人都能自由协作。Linus 没有因为封锁而屈服,而是用最纯粹的工程理性,把一次危机变成了人类数字协作史上最辉煌的篇章之一。
Discover more from Geoffrey Chen
Subscribe to get the latest posts sent to your email.