Git诞生20周年:Linus Torvalds十天打造的开源软件,如何通过分布式架构改变全球版本控制与软件开发

Git问世20周年!Linus Torvalds仅用10天打造的项目,彻底重塑全球软件开发格局

作者:明敏
时间:2025-04-08 14:43:47
来源:量子位

“Happy Birthday!”

转眼间,Git迎来了它的20岁生日!为了庆祝这一里程碑事件,Linus Torvalds罕见地接受了媒体采访,分享了更多关于Git诞生背后的故事。

2005年4月7日,Linux之父Linus Torvalds提交了Git的第一个版本。凭借其开源、分布式和本地可控等特性,Git迅速从一个小型个人项目发展为全球最广泛使用的版本控制系统之一。随后,随着GitHub、GitLab等平台的推动,Git彻底改变了世界构建软件的方式,如今已成为“开源语言”的代名词。在AI蓬勃发展的时代,Git更是不可或缺的一部分——几乎所有知名的AI库和模型都在GitHub上维护。然而,鲜为人知的是,这个影响深远的系统,最初的开发周期仅仅用了10天时间。

当时,Linux社区使用的BitKeeper因授权问题停止免费提供给开源社区使用。于是,Linus再次出马,Git应运而生。

4个月构思 + 10天执行

对于Linus本人而言,“10天开发Git”这个说法其实有些夸张。实际上,10天只是最后编写代码的时间,而构思Git最初的框架则花费了整整4个月。

当时,Linux开发社区依赖的商业软件BitKeeper因授权问题不再免费提供给开源社区使用。为了解决自用问题,Linus开始思考如何打造一个比BitKeeper更好且实现方式不同的工具。他希望设计一个专为处理像Linux内核这样大规模项目而优化的工具。

以下是首个版本的核心关注点:

1. 性能至上
Linus的目标是让Git能够在半分钟内应用大量补丁(例如50个或100个)。他认为速度是生产力的关键,因此需要确保常见操作几乎实时完成,并且在发现错误时能够立即看到结果并修复。

2. 分布式架构
Git采用了完全分布式的架构,使得许多事情变得非常容易。这种特性与之前几乎所有SCM(源代码管理)工具截然不同。每个存储库都是平等的,用户可以完全本地工作,无需依赖网络连接,同时简化了项目分享和协作。

3. 数据完整性
Linus引入了SHA-1哈希用于检测数据损坏并确保可靠性。尽管许多人认为使用SHA-1是一个巨大的错误,但Linus强调,SHA-1从未是为了安全性设计,而是为了发现数据损坏。

这些核心设计理念促成了Git的诞生,并解释了为什么Git的底层实际上相当简单。

执行策略与后续发展

在执行方面,Linus的做法值得借鉴:最初阶段有一个清晰的想法,先不管之后是否能具体实现。Git的第一个版本仅有大约一万行代码,“甚至可以一口气读完”。

然而,最初的Git只是一个基础框架(plumbing),完全没有用户界面。用户需要手动运行`commit-tree`命令,手动将生成的SHA-1哈希写入head文件,也没有像`git commit`这样用户友好的命令。这主要是因为Linus在最初设计时并未过多关注用户体验。

Junio Hamano是改善Git使用体验的核心人物。在初版本发布4个月后,Linus将项目转交给他维护。Linus表示,Junio的“品味”和长期奉献是Git能够成功的关键。

从2007年到2010年,Git逐渐获得越来越多人的认可,特别是新一代开发者将其作为首选工具。Ruby on Rails社区的采用以及GitHub平台的出现进一步推动了Git的流行。由此,Git从一个个人小众工具逐步发展为影响全行业的核心范式。

开源传奇大佬:Linus Torvalds

最后,让我们回顾一下Linus Torvalds的传奇人生。他于1969年出生于芬兰,今年已经56岁。他一个人创造了两个改变世界的项目:Linux和Git。这两个项目几乎影响了整个IT和软件产业的基础架构。

1991年初,当时还是赫尔辛基大学学生的Linus对操作系统产生了浓厚兴趣。他使用的是基于UNIX的Minix系统,但对其功能限制感到不满。他想要一个能够充分利用他的新Intel 386电脑的操作系统。同年8月25日,他在comp.os.minix新闻组发布了一条著名的消息:“我正在做一个(免费的)操作系统(只是个爱好,不会像GNU那样庞大专业)……”这被认为是Linux项目的正式诞生。

最初,Linux只是一个终端模拟器,Linus用它来访问大学的UNIX服务器。随着时间推移,他不断扩展其功能,添加了文件系统支持和设备驱动程序。关键转折点是Linus决定采用GNU通用公共许可证(GPL)发布Linux,这使得Linux成为一个真正的自由软件,允许任何人查看、修改和分发代码。

1992年,Linux与GNU项目的工具结合,形成了完整的操作系统。这种结合有时被称为GNU/Linux。随着互联网的普及,世界各地的开发者开始为Linux贡献代码。Linus采用了分散式开发模式,审核并整合来自全球的贡献。从1994年开始,Linux版本0.95发布,商业公司如Red Hat开始围绕Linux创建商业产品和服务。

今天,Linux已成为互联网基础设施的核心,为大多数网站服务器、Android智能手机和超级计算机提供动力。尽管项目规模已经庞大,Linus仍然担任最终决策者,管理着Linux内核的开发方向。

除了技术成就,Linus的臭脾气也在技术圈广为人知。他曾公开对NVIDIA拒绝为Linux提供良好驱动支持表达不满,并对着摄像机竖起中指说:“NVIDIA,fk you!”此外,他本人也相当毒舌,经常在代码评审中开喷。不过,在2018年,Linus公开道歉,表示要调整自己的沟通方式。近年来,他的脾气愈加温和,但仍保持直率的风格。

本文来源: 量子位【阅读原文】
© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...