安装以前咱们先来了解下git,而且要反问下:我为何要使用git?svn用的不是很好嘛,我干吗要换?。。。html
问1:为何须要版本控制系统?linux
版本控制是一种记录若干文件内容变化,以便未来查阅特定版本修订状况的系统。大部分时候咱们使用最频繁的仍是对源代码文件的版本控制,其实任何文件均可以归入版本控制系统。git
1).更好备份:相比于将不一样版本的文件以时间等命名存储备份,使用版本控制系统能节约更多的磁盘空间,由于版本控制系统不是文件的复制备份,而是差别备份,文件快照备份等等。服务器
2).更好的回溯:能够将某个文件回溯到以前的任何一个提交状态,甚至将整个项目回退到过去的某个时间点。网络
3).更好的团队协做:这是我认为最重要的,团队共同开发一款软件,若是没有版本控制,那是不可想象的,简单点的可使用文件传输到某一位核心开发者库上进行合并,但若是团队的成员是分散在全国各地的,甚至是世界各地的,好比linux内核的开发,那彻底是没办法进行的。使用版本控制后,能够比较文件的变化系统,能够查询是谁提交了新的更新,而且能够由项目负责人管理提交,进行更新的管理。分布式
问2:相比于svn, git有什么优点?svn
其实这里真要说出谁比谁好,真的很难说,从不一样的角度和不一样的需求可能都会有不一样的观点,这里我也只能说明二者的适用情景。spa
svn属于集中化的版本控制系统:有一个单一的集中管理的服务器,保存全部文件的修订版本,而协同工做的成员经过客户端链接到这台服务器,进行文件上传和更新。.net
优势:a.使用简单,比较符合咱们的常规思惟(我当年从SVN转向Git也花费了很多时间)。b.同步代码比较简单,只要一步操做便可。命令行
缺点:a.丢失数据的风险:最显而易见的,因为集中化的特色,若是版本库的服务器磁盘发生故障等,你不能保证全部的数据已经有人提取出来了,最坏的状况是完全的丢失整个项目的全部历史更改记录。b.网络中断的状况下,协做就没法进行了,由于没法链接服务器进行上传和更新。
git属于分布式版本控制系统:客户端并不仅提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。
优势:a.因为任何人每次提取操做,实际上都是一次对代码仓库的完整备份,所以近乎全部的操做均可以在本地执行,速度就是至关的快,而且能够在网络断开的时候操做仍然不受影响,能够频繁的进行提交更新,等到有网络的时候再上传到远程的镜像仓库就能够了。b.文档很详细,而且命令行的提示也很到位,用起来比较得新应手,并且不少的设置与操做跟linux操做很相近(不亏是linux之父创造的)。c.git的分支模型,至关的轻量级,被称为“必杀技”。
缺点:a.每一个开发人员都拥有全部的代码,不利于核心代码的保密(若是有重要代码须要保密,则不建议使用git)
git的历史
当年教授给咱们将git历史的时候,感受特别有意思,还特崇拜linux之父Linus Torvalds。linux内核开发是来自世界各地的热衷于开源的人士,开始他们使用的版本控制系统是一个商业产品BitKeeper,并免费给linux使用,但因为后期开发人员愈来愈庞大等等缘由,而BitKeeper毕竟是商业产品,终于在2005年与linux内核开源社区结束了合做关系,Linus Torvalds一气之下就本身开发了一款适合linux内核开发管理的版本管理系统Git。如今Linus Torvalds其实不多写代码了,而是将别人提交的代码合并到内核中去,更多时间里,就是在对别人提交的代码说“Yes”或者“No”,或是指导别人该在什么地方进行修改。
git在linux的安装:(如下涉及到的软件基本都使用yum安装,若是你的机子不联网,建议你先建本地yum源:http://www.cnblogs.com/shenliang123/p/3829044.html)
1.先从官网 http://git-scm.com/download 上下载git-1.7.3.tar.gz
2.将文件git-1.7.3.tar.gz复制到/opt/git/gitinstall下,并解压
[root@sl gitinstall]# tar -zxvf git-1.7.3.tar.gz
3.进行配置安装
[root@sl gitinstall]# cd git-1.7.3 [root@sl git-1.7.3]# ./configure [root@sl git-1.7.3]# make [root@sl git-1.7.3]# make install
----------------------------------------------------------------------------------------------------
但在执行make操做时报错:缺乏gcc,yum安装gcc
[root@sl ~]# yum -y install gcc
从新执行make操做,还报错,缺乏zlib.h。咱们能够查看是否存在zlib.h
[root@sl ~]# whereis zlib
若是存在则会输出zlib路径。不存在则输出空白,如下是安装详情:
1.从http://www.zlib.net/下载zlib最新版:zlib-1.2.8.tar.gz
2.解压,编译
[root@sl gitinstall]# tar -zxvf zlib-1.2.8.tar.gz [root@sl gitinstall]# cd zlib-1.2.8 [root@sl zlib-1.2.8]# ./configure [root@sl zlib-1.2.8]# make [root@sl zlib-1.2.8]# make install
--------------------------------------------------------------------------------------------------------------------------------------------
从新执行make,make install,无错误输出,验证安装是否成功:
[root@sl git-1.7.3]# whereis git git:/usr/local/bin/git [root@sl git-1.7.3]# git -version git version 1.7.3
以上输出就意味着安装成功了!