最近不少读者和鹿哥反馈说,能不能扫盲一下git,无论是github开源项目网站还是团队合作,都少不了git版本控制的使用。加上很多的在校生没有过多接触过git,所以呢,鹿哥决定最基础的讲起,请大佬多多包涵我这基础的内容。
因为git涉及到的内容太多,写一篇太长,在阅读体验上不友好,那么分为两篇吧。本篇主要分享一些git常用的操作以及命令背后的原理。
什么是版本控制?
当我们做项目的时候,少不了来回的改动项目功能和代码,一般我们修改的会覆盖以前的内容,但是突然有一天,老板不要新的需求了,而是要原来的那个功能,咋办呢,只能一点点删了最新的代码,然后再重新写原来的功能。
如果当项目变的庞大,需要多个人进行开发,每个人开发的功能各不相同,合并项目时,不得不手动合并,万一出现各种bug,每个人都要改动整体项目,删除或增加部分代码,万一合并错误,导致整个项目处于一个未知的状态,此时项目代码变得异常混乱。
版本控制就是来解决以上这两种情况的,你改动了哪些地方,都会被版本控制系统所记录,对于以上第一种情况,我写的新功能老板不要了,我可以通过版本控制回退到未修改之前的状态,对于上边团队合作,可以通过版本控制直接合并,无需手动一点点的复制粘贴。
git的崛起
说起Git的崛起特别有意思,最早的版本控制是出于BitKeeper公司的。而且应用于最大的开源系统Linux,Linux的作者Linus早就把Linux作为全世界的开源项目,Linux的诞生少不了世界很多开源贡献者的参与。
因为贡献的开发者来自世界各地,就会出现上述出现的问题,前期只能靠Linus手动合并代码,后来系统变的原来越庞大,不得不使用BitKeeper公司的版本控制,但是BitKeeper公司呢,看了他们这么热爱开源,就免费让Linux的开发者们使用。
面对来自世界各地Linux的开发者,更何况这些人都是牛人,风云四起,不得不打算搞点事情。于是对BitKeeper公司版本控制下手了,对公司内部的协议进行了逆向工程(反编译),但是很不幸运,被人家知道了。
这下可好了,本来人家公司让你免费试用,你非要破解人家东西,还让人家知道了,弄得Linux的作者Linus不得不去道歉,但是Linux道歉没有妥协,最后人家BitKeeper公司收回了免费使用权。
兄弟们,既然人家不让用了,那就自己动手丰衣足食呗。牛人Linus仅仅花费了十天的时间用C编写出了git的第一个版本。我和我的小伙伴们惊呆了!
git经过几年火了起来,不愧是玩Linux的牛人,git不仅性能极大的得到提升,而且开源免费,这就使得git在年入住全球最大的开源社区,为开源项目免费提供存储,导致了很多开发者喜欢上了git,现如今git也称为最流行的分布式版本控制系统。
git之前的版本控制是SVN和CVS,但是这两者有很明显的缺点,它是集中式的版本控制,什么是集中式的?就是必须提供一台服务器,团队合作都围绕着这个服务器进行合并。它是基于局域网的,比如现在有些公司还在使用SVN,一旦到了家里办公,所写的代码就不能提交到这个服务器。
但是git就不同了,任何地方,任何地点,不同局域网下,想什么时候提交就什么时候提交,而且提交的速度非常的快,到底有多快,一会体验一下就知道了。
以上git的历史和特点就暂时介绍这些,感兴趣童鞋可以去网上多多查阅相关git内容。
本地版本仓库
对于git的安装不在过多的费口舌,直接去
转载请注明:http://www.0431gb208.com/sjszlfa/0.html