Git简史

2024/04/18 | 字数1484 | 阅读3分钟


本文简单介绍一下git的历史,看看这个众多程序员都在用的工具,是如何诞生的。

人物:

时间线:

Git发展时间线

时间回到2002年,当时Linus Torvalds已经开发Linux达11年之久,随着参与的人数越来越多,代码量越来越大,代码合并的工作也愈加繁重,已经让他不堪重负。一直以来,Linus都是一个人默默的使用手工的方式处理(通过邮件接收patch,然后手动打到内核代码中),没有使用任何一个代码管理工具。有人可能好奇,他为什么不用SVN或者是CVS呢?关于这个问题他在一个Google的内部分享中,表达了其中的缘由,他非常鄙视这两个工具,觉得使用它们完全没法正常做事,简直就是垃圾一样的存在。Linus本人对于分布式代码管理有着谜一样的执着,以至于任何不符合这种代码管理方式的工具都是垃圾,显然上面提到的CVS和SVN都不符合。

接着他迎来了一个转机,商用公司BitMover向其投来了橄榄枝,愿意让Linus以及Linux开发者们免费使用旗下的产品BitKeeper,以表达对开源运动的支持。这是一款商用的分布式代码管理工具,在试用之后,大家觉得还不错,就这样愉快的用起来了。因此在2002年到2005年期间,内核开发者们都在使用这款工具管理着庞大的Linux内核代码。

当然如果事情一直这样顺利的话,也就没有后来的git什么事了。这个时候就轮到另外一位大神登场了,他就是Andrew Tridgell(就是那个开发了samba的人),他为了能看到代码提交的所有历史版本信息,使用逆向工程的方法破解了BitKeeper的协议,很快这件事就被BitMover公司的老板知道了,经过几轮协商之后,最终双方不欢而散,BitMover计划于2005年7月1日停止对Linux开发团队的授权。

没有了BitKeeper的Linus急需一款新的代码管理工具来继续Linux的开发,在调查了一圈之后,发现竟然没有一个满足需求,于是决定自己开发一个。他当时估计大概需要两周的时间,就可以把核心功能开发完毕。于是在接下来的一段时间,Linus潜心开发git的核心代码,并在两个月后(2005年6月16号)开始使用git管理linux v2.6.12版本的内核代码。当年7月1号,BitMover停止了对Linux的BitKeeper授权,7月11号,git第一个对外版本v0.99发布,12月21日v1.0版本发布,从此开始了git的快速迭代之旅,截止到2023年7月,git已经有900+个版本tag产生。

另外需要说明一点的是,Linus在对外公布了git项目之后,声称需要其他的人来负责后续的维护工作,在社区征集志愿者,这个时候一位日本程序员Junio C Hamano毛遂自荐,立志要贡献自己的一点力量。虽然那个时候他还没有怎么写过C代码,但他却深深折服于Linus优美的代码风格。终于功夫不负有心人,在2005年7月26日,他从Linus手中接过了git的维护者的工作,从此开启了git的长期维护生涯,到目前为止,他依然是git的maintainer。

至于BitKeeper,和Linux分手后,又继续发展了一段时间,并于2018年停止了更新,感兴趣的小伙伴可以登陆官网看下:

https://www.bitkeeper.org/

Git的大规模使用和另外一个神奇的网站有巨大的关系,这就是程序员的社交网络平台:github。这个网站的初衷是想构建一个易于使用的版本控制系统,帮助程序员更好地协作和共享代码,如今它已经可以覆盖整个软件开发流程的方方面面,全球拥有1亿开发者,而且还集成了最新的AI智能助手copilot,极大了提升编码效率。

下一篇:Git软件安装

【文章不错,鼓励一下】