秒懂Git之传奇身世

[版权申明]非商业目的注明出处可自由转载
博文地址: http://shusheng007.top/2021/04/05/1-11/
出自:shusheng007

概述

相信每个程序员的日常工作都离不开Git这个老伙计。如果你还没有听说过Git, 那就悄悄的去恶补一下,千万别告诉别人,不然会被鄙视到死!那么0你了解这个天天都要打交道的老伙计吗?今天我们就来闲聊一下Git的辉煌身世。

Git是什么

一般认为Git是一种版本控制系统VCS(version control system),不过他爸爸却说它是一个文件系统(file system),至少他当初是这么设计的,至于他爸爸是谁,我们一会再说。

至今为止,面世的VCS非常之多,例如CVS、 SVN、BitKeeper、Mercurial、Monotone 等等,还有很多连听都没有听过,但时至今日,Git 无疑已经成为其中的霸主,它在群雄争霸中彻底胜出了!

Git的传奇身世

Git出自传奇人物 Linus Torvalds 之手,就是发起Linux内核项目那哥们儿

在这里插入图片描述
图片来源:维基百科

Git的出现就是因为要解决Linux内核代码开发的管理问题。我们知道Linux是一个开源项目,世界上有很多开发者会为其贡献代码,那这些代码怎么合并到Linux的内核中呢?

Git出现之前

在2002年以前,世界各地的贡献者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!我的个妈妈,你是不是觉得这种做法太low了,不得不说今天看来确认很low!在代码量比较小,改动比较小的情况下,还能hold住,这代码量要是大了还不疯了。加上贡献者觉得麻烦,维护者也麻烦,最后社区和Lunus意识到使用VCS已经迫在眉睫了。

Linus 想要一款开源的,分布式的版本控制系统。他最终选择了BitKeeper,它虽然不是开源的,但是其开发者也是一名Linux内核开发者,不知道为什么,他给Linux社区提供了免费的许可,使其开发者可以免费使用付费版本的BitKeeper。不过社区中还是有人对使用闭源软件不满,因为Linux内核本来就是开源的,大家也是因为崇尚开源而走到了一起,现在你却使用闭源软件,这与社区的精神不符…不过那又能怎么样呢?你仍然反抗不了Linus的决定啊

Git横空出世

就这样,Linux社区开开心心的用上了BitKeeper,Linus再也不用手动合并代码了,又有时间可以骂人了…

时间来到了2005年,好死不死的社区中有个叫Andrew Tridgell 的家伙逆向了BitKeeper,也就是说给人家破解了,写了一个叫SourcePuller的破解版。这人家BitKeeper的拥有者[Larry McVoy](Larry McVoy)能干吗?本来人家这是商业软件,吃饭的家伙,已经免费给Linux社区使用了,你还破解人家的,正所谓断人财路,犹如杀人父母,Larry立刻收回了Linux社区免费使用BitKeeper的许可证

Linus能怎么办呢?对Andrew执行家法,然后去给Larry低头认错?没那一说,一则人家安德鲁在IT江湖上也是响当当的一号人物。二则Linus怎么可能去认错,在他的内心中也认为软件开源才是天经地义的。但是总不能回到手动合并代码的日子去吧?

Linus心目中的VCS,不仅要快,还要分布式的,还要开源且安全, 环顾了整个市场没有一款可以满足自己的要求的,咱办呢?靠人不如靠自己,Linus决定自己写一个!接下来他展现了啥叫大牛,为啥他敢骂人!

  • 2005年4月3日开始开发
  • 2005年4月6日对外公布他正在开发Git
  • 2005年4月7日已经实现了使用Git管理Git自己的源码了
  • 2005年4月18日已经实现了多个分支合并功能了
  • 2005年4月29日将性能提升到了他最初的目标。别忘了,市面上开发了很多年的CVS都无法达到这个性能目标
  • 2005年6月16日Linux 内核2.6.12已经用上了Git

从4月3日开始到4月18日,前后两周多,一个拥有基本功能的Git就写完了,这个行为值两个大字:牛B

Git 一经发布就迅速占领了VCS的市场,时至今日,将Git作为主要版本控制系统的公司和个人可以占到90%以上。

前面说的由Andrew开发的SourcePuller这款开源软件也没什么人用,它唯一可以被历史铭记的就是触成Git的诞生。在Git的冲击下,BitKeeper的日子也不好过,2016年5月已经开源。

为什么叫git

Git 的readme文件上说,你高兴怎么理解就怎么理解,没个固定的含义。所以这个到真不用太关心,就当一乐就行。

总结

正所谓,前人栽树后人乘凉。开源软件Git的出现极大的促进人类软件的开发效率,随后的GitHub,GitLab等等基于git的产品更是推升了软件群体的开源奉献意识

我辈应继承前辈们无私奉献的精神,努力做出卓越的工作,为自己,为家庭,为国家,为人类…

You May Also Like

About the Author: shusheng007

发表评论

邮箱地址不会被公开。