很多人都知道,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了。

转载于:https://www.cnblogs.com/gisblogs/p/4252213.html

Git_git的诞生相关推荐

  1. 第一代电子计算机诞生的国家是( ),计算机基础知识习题.doc

    计算机基础知识习题.doc (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 计算机基础知识题计算机的诞生:第一台电子计算机是1946 ...

  2. bug诞生记——不定长参数隐藏的类型问题

    这个bug的诞生源于项目中使用了一个开源C库.由于对该C库API不熟悉,一个不起眼的错误调用,导致一系列诡异的问题.最终经过调试,我们发现发生了内存覆盖问题.为了直达问题根节,我将问题代码简化如下(转 ...

  3. bug诞生记——临时变量、栈变量导致的双杀

    这是<bug诞生记>的第一篇文章.本来想起个文艺点的名字,比如<Satan(撒旦)来了>,但是最后还是想让这系列的重心放在"bug的产生过程"和" ...

  4. 华为全球最快AI训练集群Atlas 900诞生

    作者 | 胡巍巍 来源 | CSDN(ID:CSDNnews) 你,和计算有什么关系? 早上,你打开手机App,查看天气预报,和计算有关: 中午,你打开支付宝人脸支付,买了份宫保鸡丁,也和计算有关. ...

  5. 史上最强最贵Mac Pro诞生,iPadOS和iOS分家!WWDC19全面总结

    作者 | 俞佳兴.胡巍巍 转载自CSDN(ID:CSDNnews) 图片&视频 | 余佳兴摄自美国圣何塞WWDC现场 一年一度的WWDC终于来了!43岁的苹果,产品经验位居世界前列.一个迈入中 ...

  6. 智能猫窝是如何诞生的?详解百度大脑的开放生态

    3 月 20 日下午,首场百度大脑开放日在北京中关村创业大街百度大脑创新体验中心举行.百度 AI 技术生态部总经理喻友平,就百度大脑平台与生态进行了全面的详解,同时展示了百度大脑开放平台 Q1 核心升 ...

  7. BAT、讯飞之后,又一国家人工智能开放创新平台诞生了

    继阿里云.百度.腾讯.科大讯飞之后,第五大国家人工智能开放创新平台诞生了. 9 月 20 日,科技部正式宣布,依托商汤集团建设智能视觉国家新一代人工智能开放创新平台.同时,商汤集团也成为助推粤港澳大湾 ...

  8. 一块只要4美元,超廉价版树莓派诞生,还用上了自研芯片

    视学算法报道 转载自公众号:机器之心 编辑:蛋酱.泽南 树莓派 Pico,便宜到买本杂志就附赠一块. 从纯手工的车牌检测系统,到瓜果分拣机,再到自制单反相机,树莓派一直是各类手工达人的心头好.这种将梦 ...

  9. 35国,14年,世界最大科学项目,「人造太阳」即将诞生!

      新智元报道   来源:新智元.EurekAlert.BBC等 编辑:小匀 [新智元导读]7月28日,由美国.俄罗斯.欧盟(包括英国与瑞士).中国.印度.日本.韩国35个国家合作的ITER项目正式进 ...

最新文章

  1. 收藏!一篇文章搞懂甘特图
  2. java应用:csv文件的读写
  3. centos 上 crontab 计划任务 ,这个版本解释的比较清晰
  4. Oracle的闪回特性之恢复truncate删除表的数据
  5. 利用Erdas监督分类方法提取城镇用地信息完整实验操作步骤
  6. mac macaca android,Mac使用自动化测试macaca踩坑记
  7. ODP.NET数据访问
  8. java把对象放入数组_如何将对象添加到数组
  9. 【推导】【DFS】Codeforces Round #429 (Div. 1) B. Leha and another game about graph
  10. 修改功能(Ajax版)
  11. 百度地图和openlayers融合封装(想法)
  12. hihoCoder 1096 Divided Product 微软苏州校招笔试 12月27日
  13. php zend debugger_PHPStorm 与 Zend Debugger
  14. 服务器在美国怎样网页加速,美国服务器如何优化网站访问速度
  15. Fallback class must implement the interface annotated by @FeignClient
  16. coding码市的运用
  17. 重读DRRN(深度递归残差网络)
  18. zcash官方介绍 zk-SNARK circuit-QAP转化
  19. 苹果电脑ntfs如何打开硬盘?mac能读取的硬盘格式
  20. Windows安装Minikube(k8s体验)

热门文章

  1. 朱峰谈概念设计(二):我们设计什么
  2. 【蓝桥杯Java_C组·从零开始卷】第四节(附)、字符串常用函数
  3. 数据库面试题【十、【非关系型数据库】和【关系型数据库】的【区别】与【优势比较】】
  4. ASP.NET Core微服务(三)——【跨域配置】
  5. MongoDB Wiredtiger存储引擎实现原理
  6. sqlplus中利用spool生成带日期的文件名
  7. biti_rainy的面试题
  8. IT行业分析之企业信息化技术
  9. centos设置服务开机启动
  10. Android屏幕适配全攻略(最权威的官方适配指导)(转),共大家分享。