一、了解当前Git版本及系统版本
# 查看当前Git版本
git --version
# 系统版本
cat /etc/redhat-release
二、安装依赖
源代码安装和编译git,需要安装一些依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc -y
yum install gcc perl-ExtUtils-MakeMaker -y
三、卸载旧版本
# 删除旧版本的Git
yum remove git
四、下载最新版本的Git包
# 切换到存放下载Git包的目录
cd /usr/local/src
# 选择适合自己的版本下载
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.32.0.tar.xz
# 下载完成后解压缩
tar -xvf git-2.32.0.tar.xz
五、开始编译
# 进入已解压后端Git源代码目录
cd git-2.32.0
# 检查
./configure --prefix=/usr/local/git all
# 编译
make -j && make install
六、配置环境变量
# 推荐
ln -s /usr/local/git/bin/git /bin/git
# 仅root账号配置
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
# 重新加载使配置文件生效
source /etc/bashrc
# 非root用户使用
echo "export PATH=$PATH:/usr/local/git/bin" >> ~/.bashrc
# 重新加载使配置文件生效
source ~/.bashrc
验证版本
git --version
可能会出现的问题
1、git:‘remote-https‘ 不是一个 git 命令。参见 ‘git --help‘。
解决方案:
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc -y
yum install gcc perl-ExtUtils-MakeMaker -y
2、yum 卡住不动
解决方案
方案1、检查网络是否正常
方案2、运行如下命令
# 强制结束yum进程
kill -9 <pid>
# 删除rpm数据文件
rm -f /var/lib/rpm/__db.00*
# 重建rpm数据文件
rpm -vv --rebuilddb
# 清空缓存后再重新缓存
yum clean all
yum makecache
3、yum 卡住不动
输入yum命令出现
Failed to set locale, defaulting to C
运行locale命令会出现如下提示
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
登录ssh也会出现
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF8)
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF8)
解决方案
方案1:
echo "export LC_ALL=en_US.UTF-8" >> /etc/profile
source /etc/profile
方案2:
echo "export LC_ALL=en_US.UTF-8" >> ~/.bashrc
source ~/.bashrc