yum 安裝
yum install git
// 查看版本
git --version
但是通過 yum 安裝的 git
版本爲 1.8.3
版本太老,以下爲升級操作
升級之前先要卸載之前的老版本Git,命令 yum remove git
1、查看 git 的版本發版界面:https://github.com/git/git/releases;發現最新版本爲2.2.0
2、進入/usr/src目錄,通過wget執行下載包的操作,我習慣在/usr/src下使用wget下載,只是個人習慣
cd /usr/src
wget https://github.com/git/git/archive/v2.22.0.tar.gz
3、解壓壓縮包:tar -zxvf v2.22.0.tar.gz
4、安裝編譯碼所需依賴,出現提示輸入 Y 剩下只需等待即可
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
5、進入解壓的文件夾,執行安裝命令
cd git-2.22.0
# 執行編譯,命令爲
make prefix=/usr/local/git all
# 執行安裝,命令爲,安裝到/usr/local/git
make prefix=/usr/local/git install
### 建議使用下面這組命令,上面的命令有可能會報錯
# 執行編譯,命令爲
make CFLAGS=-liconv prefix=/usr/local/git all
# 執行安裝,命令爲,安裝到/usr/local/git
make CFLAGS=-liconv prefix=/usr/local/git install
如果執行的是 make prefix=/usr/local/git all
,有可能出現以下錯誤
/usr/src/git-2.22.0/utf8.c:492:對‘libiconv’未定義的引用
libgit.a(utf8.o):在函數‘reencode_string_len’中:
/usr/src/git-2.22.0/utf8.c:587:對‘libiconv_open’未定義的引用
/usr/src/git-2.22.0/utf8.c:597:對‘libiconv_close’未定義的引用
/usr/src/git-2.22.0/utf8.c:592:對‘libiconv_open’未定義的引用
collect2: 錯誤:ld 返回 1
make: *** [git-credential-store] 錯誤 1
6、以上正確安裝後,查看 Git 版本 git --version
會報 -bash: git: 未找到命令
錯誤,原因是我們把git安裝到了 /usr/local/git
目錄下,git --version默認找的是 /usr/bin/git命令,剛纔我們已經卸載了,可通過軟連來操作
# 先刪除 /usr/bin/git
rm -rf /usr/bin/git
# 創建
ln -s /usr/local/git/bin/git /usr/bin/git
同時更新一下nss yum update -y nss curl libcurl
至此操作成功!