Git发展历史
林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds, 1969年~ )
很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。
Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?
事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!
你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?那个年代不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。
不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。而授权的前提是:Linux 社区的人不能开发具有相同功能的竞争产品!
另一方面,BitKeeper不是开源的。显然与Linux 的开源精神不相符,所以linux 社区的很多人抱怨,不愿意使用。
典型的就是 Andrew Tridgell (Samba 开发服务的创造者) 非常不满。偷偷违反了和 BitKeeper 的协议,反编译 BitKeeper 的源代码,开发了个爬虫,然后爬取信息被人发现了。BitKeeper 公司的领导非常不满意,然后开始发布消息说,(下个版本)不再为Linux 提供免费的服务。
Linus 本人就出面协调(几周或者几个月),但是不管用,没办法。估计谈判的过程感觉到了憋屈--"吃人嘴短,拿人手软"。
Linus 本人 花了10天的时间Git 出来了,一个月之内,Linux系统的源码已经由Git管理了!
Git 出来以后毕竟是一个人做的,开始并不好用(刚开始只能用勉强可以用来形容),还是很多人抱怨,发展了很多年都没有干过其他软件。
直到 2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,从此git 迎来了飞速发展,当下git 已经成为了最流行的版本控制工具。