今天开始,我来讲讲Git的故事!

相信大家都听说过Git,因为每一个写程序的人都离不开它。但是真正能够掌握它还是需要下一点功夫的。今天开始,Git系列的文章开始连载,希望大家能够持续的关注。

作为本系列第一篇文章,我们来聊一聊 Git ,官方一点说Git就是一个分布式版本控制系统。

为什么会想到去做一个分布式版本控制系统呢?

在1991年时,Linus开发出了Linux系统,当时的Linux是开源的,所以当时Linux发展非常的迅速,全世界很多热心的程序员都纷纷为Linux添砖加瓦,这么多人给Linux写代码,这些代码如何管理的呢?事实上,在2002年之前,这些热心的程序员都是通过diff的方式把源代码文件发送给Linus,最后Linus手动将代码合并起来。这样看来,非常的复杂。那么为什么不把代码放在当时的cvs和svn这些集中式的版本管理系统呢?因为Linus坚决反对这种速度慢,而且还需要联网的版本管理系统。

不过,到了2002年之后,代码实在太多了。Linus也撑不下去了,所以无奈之下找了一个商业的版本控制系统BitKeeper,但是BitKeeper的老板还是有点魄力的,直接授权Linux免费使用他们的系统。

但是好景不长,在2005年,Linux社区里的一位大牛,开发Samba的Andrew试图去破解BitKeeper的协议,其实不止他一个人这么干过,结果就是被BitKeeper公司发现了,结果可想而知。在此期间,Linus其实是可以挽回的,但是可能由于Linus江湖气息很重,一直没有道歉。

更加出人意料的事情就来了,Linus随后花了两周的时间用C写了一个分布式版本控制系统,它就是Git。一个月之内,Linux的代码就交给了Git来管理!

看完这个故事,相信大家对于大佬有个定义了,也许这就是大佬吧!

当然这个之后,我们熟知的Github也在2008年正式上线,无数的开源项目蜂拥而至,也让GitHub成为了全球最大的程序员社区(同性社区)

知道了Git从何而来,那么它到底有哪一些优势特点?

第一,版本控制。解决了多人开发时开发的代码问题,也解决了找回历史代码的问题。

第二,分布式。Git是一个分布式版本控制系统,同一个Git仓库,可以分不到不同的机器当中,首先,一台服务器24小时开机,其他人可以从这台服务器仓库中克隆一份到自己的电脑上,并且把自己提交推送到服务器上,当然也可以从服务器里拉取别人的。我们自己可以搭建这台服务器,当然也可以使用Github。

今天咱们就说这么多吧,下一篇文章我会教大家如何来安装配置Git!敬请期待!

本文分享自微信公众号 - JAVAandPython君(JAVAandPythonJun)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器人课程与技术

Windows使用ROS机器人操作系统教程说明

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

14130
来自专栏python编程军火库

AI_第一部分 数据结构与算法(11.排序算法实战上)

第四阶段我们进行深度学习(AI),本部分(第一部分)主要是对底层的数据结构与算法部分进行详尽的讲解,通过本部分的学习主要达到以下两方面的效果:

7520
来自专栏Lemon黄

化繁为简的5种码农必备工具

原文标题:Five Upcoming Tools for Software Developers that Will Definitely Rock the M...

8330
来自专栏CWIKIUS

Git Clone 的时候遇到 Filename too long 错误

在对某些仓库进行 Git Clone 的时候遇到了 Filename too long 的错误提示。

6710
来自专栏sofu456

github deepfake项目faceswap

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

17010
来自专栏python编程军火库

AI_第一部分 数据结构与算法(12.排序算法实战下)

第四阶段我们进行深度学习(AI),本部分(第一部分)主要是对底层的数据结构与算法部分进行详尽的讲解,通过本部分的学习主要达到以下两方面的效果:

6130
来自专栏python编程军火库

AI_第一部分 数据结构与算法(14.二分查找算法)

第四阶段我们进行深度学习(AI),本部分(第一部分)主要是对底层的数据结构与算法部分进行详尽的讲解,通过本部分的学习主要达到以下两方面的效果:

6810
来自专栏机器人课程与技术

ROS2学习和使用SLAM算法(gmapping/cartographer/orb-slam等)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

34410
来自专栏业余草

Git 从入坑到放不下

原文链接:https://github.com/gafish/gafish.github.com

8630
来自专栏python编程军火库

AI_第一部分 数据结构与算法(13.图解递归)

第四阶段我们进行深度学习(AI),本部分(第一部分)主要是对底层的数据结构与算法部分进行详尽的讲解,通过本部分的学习主要达到以下两方面的效果:

7240

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励