Git_git的诞生

很多人都知道,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社区免费使用这个版本控制系统。

安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。

Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:

Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。

Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。

时间: 2024-11-08 06:03:47

Git_git的诞生的相关文章

云计算背后的秘密:NoSQL诞生的原因和优缺点

转载收藏一篇对nosql讲解的比较全面的文章:http://blog.csdn.net/xlgen157387/article/details/47908797 这篇文章将和大家聊聊为什么NoSQL会在关系型数据库已经非常普及的情况下异军突起? 诞生的原因 随着互联网的不断发展,各种类型的应用层出不穷,所以导致在这个云计算的时代,对技术提出了更多的需求,主要体现在下面这四个方面: 1. 低延迟的读写速度:应用快速地反应能极大地提升用户的满意度; 2. 支撑海量的数据和流量:对于搜索这样大型应用而

一个网站的诞生05--如何把网站做到估值过亿

网站的意义,在于创造对用户有价值的东西,估值是网站意义的一个衡量指标,提升估值的手段,也就等价于把网站做得更有用. 如何计算一个网站的估值?国际标准是每个活跃用户的价值是40刀左右,Whatsapp卖了190亿刀,它有4.5亿活跃用户.中国略有差别,微信的估值是40亿~50亿刀,有3亿用户,但中国的用户商业价值不够高,人均GDP太低,所以每个活跃用户的价值是10-15刀,也就是RMB60-90元.如果网站(包括同名App)要想估值过亿,要有一百万的活跃用户.另一种估算方式是,行业第二名的估值是第

由浅入深JavaScript——JavaScript的诞生背景

JavaScript的诞生背景 在上世纪90年代,欧美各国的web程序日益流行,但是当时用户上网还都在使用电话拨号上网,通过调制解调器,网速仅仅只有28kb/s.而web程序的展现却日渐丰富.当时在没有JavaScript的年代,表单验证等操作都是在服务器端执行的.    举个例子,用户进入到一个注册页面,填写用户名,密码,个人信息,点击注册,好,事大了...发送信息,开始网络传输,等了十几秒,服务器接到浏览器客户端发送的信息,开始处理,然后把处理信息返回客户端浏览器,用户突然发现提示用户名填写

JSONP的诞生、原理及应用实例

问题: 页面中有一个按钮,点击之后会更新网页中的一个盒子的内容. Ajax可以很容易的满足这种无须刷新整个页面就可以实现数据变换的需求. 但是,Ajax有一个缺点,就是他不允许跨域请求资源. 如果我的代码在codepen上,我不能将我的数据放到codepen网站上,那么我只能放到我自己的服务器中,这样的话,就无法通过Ajax访问到这个数据了. 解决: 想要实现这种跨域资源请求,有很多解决办法,列举出一部分: 让服务器来加载远程数据,然后在用户请求时提供给浏览器. 用<script>或是<

台湾经济奇迹是怎样诞生的?

[一种声音]“台湾经济奇迹”是怎样诞生的?   文/王睿逵 天则名师荟萃西学经典品读班学友 本文来自公号天则大家对话 “台湾奇迹”是指蒋介石政府迁台后,从1949年开始到1990年代,在台湾进行的一系列政治改革.制度改革和经济建设.由于改革十分成功,不仅使得台湾的发展突飞猛进,而且成功地跨过了“中等收入陷阱”,成为了许多发展中国家的典范,世人将台湾列为亚洲四小龙之一. 他们在近半个世纪的发展历程中,从1949年迁台到1960年以外汇贸易管制的放松为标志的市场经济的基本形成这个阶段,最为关键,也正

jQuery诞生记-原理与机制

一.看似偶然的东西实际是必然会发生的 我大学时候在图书馆翻过一本很破旧的书,讲生物理论的,主要内容就是探讨生命的产生是偶然还是必然.里面很多亚里士多德都看不懂的公式计算什么的,还有模拟原始地球环境出现了有机物的实验什么的 .总之,书论述的观点是:“在当时的地球环境下,生命的产生是必然的!” 无数次机会的偶然条件.无数次化合物的相遇反应等必定会产生有机物,再有N多偶然,有机物必然形成了有机体…… 这种理论类似于,你是个过马路非常小心的人,且你万寿无疆,除了怕被汽车撞.给你100万年的寿命,你最后必

BOM的来源是不可能出现的字符,GB2312双字节高位都是1,Unicode理论的根本缺陷导致UTF8的诞生

Unicode字符编码规范 http://www.aoxiang.org 2006-4-2 10:48:02Unicode是一种字符编码规范 . 先从ASCII说起.ASCII是用来表示英文字符的一种编码规范,每个ASCII字符占用1个字节(8bits) 因此,ASCII编码可以表示的最大字符数是256,其实英文字符并没有那么多,一般只用前128个(最高位为0),其中包括了控制字符.数字.大小写字母和其他一些符号 . 而最高位为1的另128个字符被成为“扩展ASCII”,一般用来存放英文的制表符

记滚播编单系统的诞生

背景:我从09年4月28日至今一直就职于一家传媒公司,主要负责媒资系统的开发和维护.说到媒资系统(说来可笑这个系统在公司内慢慢的被叫成了oa ),这个系统主要负责节目的生产.存储.发布. 节目即视频+图片+相应文字成为节目. 发布是指把视频进行转码(mpg -->3gp or  mpg-->mp4) ,按移动.联通.电信要求进行视频转码分发,经过这几年和运营商打交道也摸清了他们的套路(也就那么回事 ). 随着业务的增长和发展,公司不能把自己绑在"一棵树上",要有自己的造血功

张艾迪Eidyzhang:解码天才Eidyzhang的诞生

AOA解码:天才Eidyzhang的诞生AOA深度解读:世界第一天才Eidyzhang: (TheWorldNo.1Girl+TheWorldNo.1InterentGirl+世界第一女孩+世界第一互联网女孩) 世界第一天才Eidyzhang I AOOOiA.Global.224C 23Age Genius FounderGEO(Global.224CEO) 世界级最高级创始人.CEO I 世界最高级精英EliteCEO.Founder AOA解码:天才Eidyzhang的诞生 Name:Ei