最近小菜在写nginx,所以就从windows的桌面环境转移到centos7.4的命令窗口。下面记录在centos7.4安装git
centos7 默认安装的是git 1.8.x版本
将centos7上的git更新到最新的git版本,方法如下
1.安装编译git时需要的包
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc perl-ExtUtils-MakeMaker
2.删除已有的git
3.下载git源码
# cd /usr/src
# wget https://www.kernel.org/pub/software/scm/git/git-2.13.1.tar.gz
# tar xzf git-2.13.1.tar.gz
在git官网 查看最新的稳定版本,将git-2.13.1.tar.gz
修改为官方最新稳定版本号
4. 编译安装
# cd git-2.13.1
# make prefix=/usr/local/git all
如果执行该命令报以下错误信息:
libgit.a(utf8.o): In function `reencode_string_iconv':
/usr/local/git/utf8.c:463: undefined reference to `libiconv'
libgit.a(utf8.o): In function `reencode_string_len':
/usr/local/git/utf8.c:502: undefined reference to `libiconv_open'
/usr/local/git/utf8.c:521: undefined reference to `libiconv_close'
/usr/local/git/utf8.c:515: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [git-credential-store] Error 1
编译未出错,继续执行下面命令,如果出错,跳到解决方法
# make prefix=/usr/local/git install
# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
# source /etc/bashrc
检查版本号
# git --version
git version 2.13.1
解决方法如下:
1.安装libiconv
# cd /usr/local
# 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
# make
# make install
2. 创建一个软连接到/usr/lib
# ln -s /usr/local/lib/libiconv.so /usr/lib
# ln -s /usr/local/lib/libiconv.so.2 /usr/lib
3.然后回到git目录继续编译,需要注意这里git-2.13.1
版本号要一致
# cd /usr/local/src/git-2.13.1
# make configure
# ./configure --prefix=/usr/local --with-iconv=/usr/local/libiconv
# make
# make install
4.此时,git应该编译安装成功了,测试如下:
# git --version
git version 2.13.1
安装使用完成之后,推荐到在Mac、Linux 终端显示 Git 当前所在分支