问题
当我们在CentOS6操作系统执行git操作,发现拉取代码的时候会出现如下的提示:
$ git clone http://xxxxx.git
error: The requested URL returned error: 401 Unauthorized while accessing http://x.git/info/refs
fatal: HTTP request failed
而当我们加上用户名之后,就可以正常拉取。
$ git clone http://具体用户名@xxxxx.git
接着输入密码
原因
问题根源在于系统默认的git版本太旧,需要使用root管理员进行操作升级Git。
解决方案
- 查看centos6 的git版本
$ git --version
git version 1.7.1
- 安装依赖
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
$ yum install gcc perl-ExtUtils-MakeMaker
- 卸载老版本
$ yum remove git
- 依次执行
$ wget https://github.com/git/git/archive/v2.2.1.tar.gz
$ tar zxvf v2.2.1.tar.gz
$ cd git-2.2.1
$ make configure
$ ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv
$ make install
$ echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
$ source /etc/bashrc
- 查看git 版本
$ git --version
git version 2.2.1
搞定,收工。