搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 小天才的杂货铺 > Git学习笔记(一)

Git学习笔记(一)

小天才的杂货铺 2018-03-01

Git学习笔记  第一部分

——初识Git

想必每个有兴趣来学习git的童鞋一定是早就对其大名有过耳闻啦,那么这个经常被计算机大神、编程大老、程序员工程师大牛们挂在嘴边的git到底是个怎样的神圣所在呢?在我们一起学习git之前,我们不妨先来了解一下他的前世今生,至少从他是干什么的说起。

Git是目前世界上最最先进的分布式版本控制系统,毫不夸张,没有之一。

那么什么是分布式,什么又是版本控制呢?

先说说版本控制吧,肝过论文的你一定有过这样的体会吧,先写好一个最初版本,然后再一次一次的加以修改,而且每次都要修改不同的部分,多虑的你有想要保留每一次修改前的原版,于是你的文件夹里就有了大量的副本,副本1,副本2……直到哪天你又突然想要找回一个某天前的版本,于是你开始打开每个文件查看,到底哪个副本才是要找的呢?是不是很麻烦!

于是版本控制系统就诞生啦,他负责记录你的每次更改,包括修改的时间,修改的内容等等,更神奇的是,如果需要,你可以随时跳回之前的某一次修改,让自己的文件瞬间变回以前的一个版本,在各个版本之间灵活穿梭,更可怕的是,如果你对某个修改犹豫不决,git还允许你建立一个分支,在保留以前的一个版本的基础上另外开出一条新路,肆意修改,觉得合适呢就把他同之前的主干合并,不合适就一键抹杀,从头再来。

Git学习笔记(一)

那么,更神奇的来了。想必你也体会过多个人写一篇论文的情况吧,张三修改了一部分发给你,李四修改了一部分发给你,你自己手上还有一份修改过的文章,该怎么把三个人修改的弄到一起呢?大概只能……手动吧,不然你还能怎样?于是git就前来替你管理这些不同人经手的不同版本了,清楚明了,还可以对不同的修改进行合并,具体的使用方法呢我们后边会提到的。

那么这就是版本控制系统的作用啦,接下来就说说分布式,分布式当然是和集中式对应的。以前的集中式系统就好比一本放在图书馆的书一样,张三如果想修改书中的内容,就需要把书从图书馆借走,等他完成修改后归还,这时李四才可以继续借阅并进行修改了。放到互联网上呢,就导致了联网传输速度极慢,多人协作不够方便等大量的问题,而分布式系统则不一样,没有一个好比图书馆一样的“中心”,每个人手里都有一本书,他们都可以对自己的书进行修改,之后只需要把他们的书互换,对修改的内容进行合并就可以啦,这样就使得操作简单,也可以不需联网就能完成自己手头的工作,并且在张三工作的时候李四是不要干等着的,因为“书”不止一本,这也就提高了工作的效率。

当然啦,git还是为这个系统创建了一个远程仓库,更方便了不同版本之间的交流和共享,这个开源的远程仓库就是大名鼎鼎的GitHub啦,全球最大的男性交友平套平台。是时候祭出这张图了。

到底是谁发明了Git?你一定听说过他,Linus,对,就是创建Linux的那个。

Linux系统的壮大可以说是靠全世界的吃瓜群众的共同努力的,Linus把Linux系统开源,让所有感兴趣的人给他提出修改意见,不负所期的,世界各地的志愿者都把自己改写的Linux代码发给Linus,说出来你可能不信,刚开始的那么几年,Linus完全是靠自己手动将这无数份代码合并的(好吧好吧你厉害!)。

其实当时是有一些版本控制系统的,但是免费的集中式版本系统呢,Linus觉得太慢太不方便,商用的付费系统呢,Linus觉得和自己Linux的开源精神不符合,还是不用。

终于,系统越做越大,手动是满足不了了,Linus终于放下架子选择使用了一个商业的版本控制系统BitKeeper,当然了,BitKeeper的东家出于对Li大神的尊重,让Linux社区免费使用本公司的产品。

好景不长,Linux社区中名门聚集,不免有了绿林好汉的风格,其中有人开始尝试破解BitKeeper的协议,不幸被BitKeeper公司发现,大怒,收回了Linux社区对该系统的免费使用权。本来Li大神是可以简单代表本社区向BitKeeper公司道个歉的,但是不可能,这辈子都不可能道歉,所以历史性的一刻出现了:Linus在家用了两周时间自己用C语言写了一个分布式版本控制系统出来,一个月后已经成熟使用,把整个Linux系统代码都搬过来完美运行,没错,就是Git。此时我只想说,惹不起惹不起。牛X是怎么定义的?你们自行理解一下。或许,这就是历史机缘吧。

其实GitHub是可以完美展示代码的,不论你是什么格式的代码,上传到GitHub的远程库里都可以直接浏览,但是诸如mp3啊mp4啊wmv啥的,甚至是word文档这种都会保存为二进制格式,在GitHub上是无法展示,不过……可以储存啊,你说对不对?妈妈再也不用担心我的硬盘了。悄悄告诉你,GitHub不限存储空间,上传下载速度够快哦~


要不,关注一下呗~


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《Git学习笔记(一)》的版权归原作者「小天才的杂货铺」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注小天才的杂货铺微信公众号

小天才的杂货铺微信公众号:little_genius_store

小天才的杂货铺

手机扫描上方二维码即可关注小天才的杂货铺微信公众号

小天才的杂货铺最新文章

精品公众号随机推荐