前言

在Linux/Centos服务器上,如果使用的git版本过低,使用的时候可能会由于低版本不支持遇到各种问题,比如Centos7系统自带的git版本一般是1.8.3.1的,比较旧,通常建议升级git后再使用。下面我们来说下如果升级git最新版本。

操作

查看当前git版本

git --version     //查看当前git版本,看git版本是否过旧

安装依赖

源代码安装和编译git,需要安装依赖,具体命令如下:

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum install gcc perl-ExtUtils-MakeMaker

出现Complete!则代表安装成功。

卸载git(旧版本)

yum remove git

打开安装目录

用于存放下载的git包

cd /usr/local/src/

下编译git压缩包

使用国内指定下载最新版本,目前最新版是v2.36.1

wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.36.1.tar.xz
tar -xvf git-2.36.1.tar.xz
cd git-2.36.1
make prefix=/usr/local/git all

下面为编译完成的结果:

    LINK t/helper/test-tool
    MKDIR -p bin-wrappers
    GEN bin-wrappers/git
    GEN bin-wrappers/git-receive-pack
    GEN bin-wrappers/git-shell
    GEN bin-wrappers/git-upload-archive
    GEN bin-wrappers/git-upload-pack
    GEN bin-wrappers/git-cvsserver
    GEN bin-wrappers/test-fake-ssh
    GEN bin-wrappers/test-tool

安装git

make prefix=/usr/local/git install

安装完成如下:

        rm -f "$execdir/$p" && \
        if test -z ""; \
        then \
                test -n "" && \
                ln -s "$destdir_from_execdir_SQ/bin/git" "$execdir/$p" || \
                { test -z "" && \
                  ln "$execdir/git" "$execdir/$p" 2>/dev/null || \
                  ln -s "git" "$execdir/$p" 2>/dev/null || \
                  cp "$execdir/git" "$execdir/$p" || exit; }; \
        fi \
done && \
remote_curl_aliases="git-remote-https git-remote-ftp git-remote-ftps" && \
for p in $remote_curl_aliases; do \
        rm -f "$execdir/$p" && \
        test -n "" && \
        ln -s "git-remote-http" "$execdir/$p" || \
        { test -z "" && \
          ln "$execdir/git-remote-http" "$execdir/$p" 2>/dev/null || \
          ln -s "git-remote-http" "$execdir/$p" 2>/dev/null || \
          cp "$execdir/git-remote-http" "$execdir/$p" || exit; } \
done

配置环境变量

 写到环境变量中

echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile && source /etc/profile

验证git版本

再次查看当前版本,验证是否已更新

# git --version
git version 2.36.1