众所周知,Linus Torvalds在1991年创建了开源的Linux操作系统,自此,Linux系统不断发展壮大,逐渐成为了最大的服务器系统软件。尽管Linus是Linux的创始人,但Linux的成功却归功于全球各地的热心志愿者们的共同努力,他们为Linux编写代码,不断推动着系统的发展。
然而,在2002年之前,Linux的代码管理却是一项繁琐而复杂的任务。志愿者们将源代码文件通过diff的方式发送给Linus,然后由Linus本人手工合并代码。这种方式既效率低下,又容易出错,显然无法满足Linux快速发展的需求。
你可能会好奇,为什么Linus没有选择使用像CVS或SVN这样的版本控制系统来管理Linux的代码呢?原因在于Linus坚决反对这些集中式的版本控制系统,他认为这些系统速度慢,且必须联网才能使用。尽管市面上有一些商用的版本控制系统比CVS和SVN更先进,但它们都是付费的,这与Linux的开源精神相悖。
到了2002年,Linux系统的代码库已经变得非常庞大,Linus很难再继续通过手工方式管理。同时,社区的开发者们也对这种方式表达了强烈的不满。在这种情况下,Linus不得不做出改变。他选择了一个商业的版本控制系统BitKeeper。BitKeeper的开发者BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。
这种平静的局面并没有持续太久。2005年,由于Linux社区中的一些开发者试图破解BitKeeper的协议,被BitMover公司发现后,BitMover公司决定收回Linux社区的免费使用权。面对这种情况,Linus并没有选择出面协商,而是决定自己开发一个新的版本控制系统。
在短短的两周时间内,Linus用C语言编写了一个分布式版本控制系统,没错,它就是Git!一个月内,Linux系统的源码已经完全由Git管理。这个决定不仅解决了Linux社区面临的困境,也让Git迅速成为了最流行的分布式版本控制系统。
2008年,GitHub网站上线,为开源项目免费提供Git存储。这一举措吸引了无数开源项目迁移到GitHub,包括jQuery、PHP、Ruby等等。可以说,如果不是当年BitMover公司的威胁,我们可能无法拥有如今这样免费且超级好用的Git。