首页 > 技术文章 > 在CentOS VPS上源代码安装高版本号git

gccbuaa 2017-07-04 14:35 原文

背景:个别软件在国内下载非常慢,在vps下载就非常快。

可是下载好后的文件通过scp弄出来的时候又非常慢,所以想通过在vps里安装git,通过gitlab或oschina来进行中转。但遗憾的是,上传到gitlab速度高达每秒20多M,国内下载几十KB。上传到国内的oschina速度100多KB,下载不用说非常快。

综合而看,方案有待改进!

但比scp快。

通过yum install git在CentOS6.5上,安装的git版本号是1.7.1,不符合要求。在git push时会报例如以下错误:

git push error: The requested URL returned error: 401

问题出在不弹出让你输入username和password的地方,当然你能够尝试通过此处的方法。将git的地址改进下。但根本原因是,低本地的git解析不了高版本号的git链接地址,所以死活不弹出来让你输入username的地址。以下是安装高版本号git方法。

安装之前最好不用root账户,否则root安装的有些东西普通用户无权限訪问。

vps里先建个普通用户:

1。adduser test (删除的话用userdel -f test)

2,passwd test

3,然后给给user添加sudo的权限:

chmod u+w /etc/sudoers 

使该文件可写,然后找到root这一行,在以下添加一行:

root    ALL=(ALL)       ALL
yanzi   ALL=(ALL)       ALL

chmod u-w /etc/sudoers 去除sudoers文件的可写权限。

然后以新建用户登录进行操作:

1,yum remove git 删除老git


2。安装前的准备:

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker


3。此处是git下载列表。下载git2.5.4版本号:wget https://www.kernel.org/pub/software/scm/git/git-2.5.4.tar.gz

解压:tar zxvf git-2.5.4.tar.gz 

然后将git安装到/usr/local/git文件夹。便于以后删除升级git:

make prefix=/usr/local/git all

然后:make prefix=/usr/local/git install

之后在/usr/local/git下就安装了git。

之后编辑/etc/profile 或/etc/bashrc,将上面git的bin路径加到path里,或直接执行例如以下:

echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc

然后source /etc/bashrc

执行:git --version检測是否成功安装。


4,因为安装完git,按tab是没有自己主动提示的,因此要添加自己主动提示的脚本:

curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

下载这个脚本,然后在~/.bash_profile里加入:
if [ -f ~/.git-completion.bash ]; then
  . ~/.git-completion.bash
fi

就可以。


5,之后还有个恼人的问题,git的提示信息都是中文的。个别时候还是中文,请执行:

echo "alias git='LANG=en_GB git'" >> ~/.bashrc

重新启动终端进去就可以!




推荐阅读