背景

CentOS 7 自带的git版本(1.8.3)太低,在执行gitlab-ci的时候,发现目录无法自动被清理导致作业失败,解决方法就是升级版本。

下载最新版本

通过wget命令直接下载源码包

wget -c https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.40.0.tar.xz

依赖包

编译需要编译工具和开发包

yum -y install gcc  openssl-devel libcurl-devel expat-devel

编译安装

安装后可以开始编译了,为了不跟系统自带的git冲突,编译到自定义的目录。

tar xvf  git-2.40.0.tar.xz
cd git-2.40.0
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
source /etc/profile
git --version

总结

如果已经安装自带的git,需要卸载掉

yum -y  remove git

也可以将安装好后的二进制做一个软连接到/usr/bin/

ln -s /usr/local/git/bin/*  /usr/bin/