centos 7.2升级git版本

问题:在使用“git pull origin master --allow-unrelated-histories”命令时,提示:“error: unknown option `allow-unrelated-histories’”,经过查询发现当前使用的git版本为1.8的版本,git版本较低,因此需要升级git版本.
操作步骤如下:
(1)卸载原有的git软件及其依赖:

[root@cli-1 ~/project]
# yum remove git
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.8.3.1-21.el7_7 will be erased
...

(2)下载最新的git源码:

[root@cli-1 ~/project]
# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.1.tar.xz
[root@cli-1 ~/project]
# xz -d git-2.18.1.tar.xz
[root@cli-1 ~/project]
# tar -xvf git-2.18.1.tar 
[root@cli-1 ~/project]
# cd git-2.18.1

(3)编译源码:
可能设计到的一些依赖包

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel nss  gcc perl-ExtUtils-MakeMaker -y
[root@cli-1 ~/project/git-2.18.1]
# ./configure --prefix=/usr/local/git

[root@cli-1 ~/project/git-2.18.1]
# make 

[root@cli-1 ~/project/git-2.18.1]
# make install

(4)修改环境变量,便于命令行直接调用

[root@cli-1 ~/project/git-2.18.1]
# vim /etc/profile
...
#在文件最后添加下面的命令
export PATH=$PATH:/usr/local/git/bin

[root@cli-1 ~/project/git-2.18.1]
# source /etc/profile

(5)检查git版本

[root@cli-1 ~/project/git-2.18.1]
# git --version
git version 2.18.1

使用中,可能存在的问题:
(1)在开发机上clone 代码服务器的代码分支时,发生

bash: git-upload-pack: command not found
fatal: The remote end hung up unexpectedly

原因:
原来代码服务器上的git安装路径是/usr/local/git,不是默认路径;根据提示,在代码服务器上, 建立链接文件。
解决办法:

# ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack 

(2)

bash: git-receive-pack: command not found
fatal: Could not read from remote repository.

解决办法与(1)类似:

# ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack
发布了207 篇原创文章 · 获赞 77 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/daa20/article/details/104165307