Linux系统中处理Git版本升级

119 阅读2分钟

一、了解当前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