如果当前已经安装了其他版本的git,并且是通过安装包安装在了默认路径,那么最好先卸载掉旧版本的git,否则安装新版本的git后,在调用git时,会出现交叉调用的情况。如果旧版本是编译安装,并且指定了安装路径,那么可以不用卸载,但是在安装完新版本的git后一定配置好环境变量。
注意:最好不要打开图形化界面,直接在终端操作,因为打开的程序越多,可能对安装git的影响就更大
一、卸载旧版本的git
yum remove -y git
二、 简装git(只安装git的基本工具等)
git的体系很庞大,包括git基本工具,各种文档以及一些git插件等,而一般情况下我们只是使用git的基本工具,因此可以进行简装,其实像帮助文档这些,我们在官网就可以看到。简装步骤如下:
二、安装git所依赖的系统库
1.安装依赖库,由于git的生态过去庞大,需要安装大量的依赖库,因此可能会有部分库没有列出来,不过只要根据错误判断缺少哪些库,然后使用yum install安装即可,如果yum找不到的,可以在rpmfind.net或者pkgs.org网站中查找对应RPM包,然后安装即可。
yum install -y tk zlib-devel openssl-devel curl-devel
yum install -y perl perl-devel perl-XML-SAX.noarch perl-ExtUtils-MakeMaker
yum install -y cpio expat-devel gettext-devel asciidoc xmlto
yum install -y autoconf automake libtool libevent libevent-devel
2.更新nss,否则在使用git访问https链接时会报错:SSL connect error
yum update nss
3.安装libiconv
# 先安装依赖
yum install -y openjade texinfo
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
tar -zxvf libiconv-1.15.tar.gz
cd libiconv-1.15
./configure --prefix=/usr/local/libiconv
make && make install
# make过程有一个warning:remember to run 'libtool --finish /usr/local/libiconv/lib'
# 因此安装完成后执行如下命令
libtool --finish /usr/local/libiconv/lib
4.安装 docbook2x
wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/d/docbook2X-0.8.8-17.el7.x86_64.rpm
rpm -ivh docbook2X-0.8.8-17.el7.x86_64.rpm
# 安装过程可能还会依赖其他系统库,使用yum安装即可
# 安装完成后还需要创建一个软连接
ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
5.执行完以上步骤之后,如果你的机器刚开始没有安装git,此时你会发现突然就有了git,还没搞明白,但不是我们要的版本,OK,继续安装我们需要的版本。
三、安装新版本git
wget https://www.kernel.org/pub/software/scm/git/git-2.2.1.tar.gz
tar -xvf git-2.2.1.tar.gz
cd git-2.2.1
make configure
./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv
make all doc info # 如果你只需要git命令,不需要帮助文档什么的,那只需要执行make,下一条命令只需要执行make install就行
make install install-doc install-html install-info
echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/profile
echo 'export PATH=$PATH:/usr/local/git/libexec/git-core' >> /etc/profile
source /etc/profile
四、检测
git --version
# 显示:git version 2.1.2
安装完成!