以前一直用的svn,对git一点都不熟悉,最近在弄一个php项目,因为项目放在网络上的coding.net 上,因此想写个脚本用git直接发布,比较快捷安全。刚开始项目跑在Debain系统上的,使用git 直接发布是没有问题的,后来因为我的到来,赶上扩容,我对Centos/RedHat比较熟悉,于是就建议把项目迁移到CentOS 系统上,维护起来比较顺手。迁移时,遇到了第一个问题就是git不能用了。

错误如下:

[root@localhost opt]# git clone https://git.coding.net/XXXXX/XXXXX.git 
error: The requested URL returned error: 400 Bad Request while accessing https://git.coding.net/linghuyong/youyiche.git/info/refsfatal: HTTP request failed

当时我就蒙了,系统自带的git不能用,于是在网上巴拉巴拉了半天,有人说是git版本问题,然后我就整了个2.4.8的版本开始编译安装,(centos自带的版本貌似是1.多的)

yum -y install vim gcc-c++ gcc make openssl-devel openssl 
rpm -e git perl-Git
wget https://www.kernel.org/pub/software/scm/git/git-2.4.8.tar.gz
tar xf git-2.4.8.tar.gz
cd git-2.4.8
./configure --prefix=/usr/local/git  --with-curl --with-expat
make
make install

编译过程如还需要其他依赖,请自行解决。

哦,记得加环境变量PATH,让你在bash里面可以直接使用git 命令、怎么加自己弄。

经过了一下会,终于安装上了,很开心,以为可以用了,是的,没错,确实可以用了,但是发现在使用man 的时候,没有manpage ,于是又百度google,哈哈找到了

听说下载一个放进去就好了。

下载地址很多

https://code.google.com/p/git-core/downloads/list 
git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git 
https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git 
https://kernel.googlesource.com/pub/scm/docs/man-pages/man-pages.git

我选择了第一个链接,

直接在root目录

wget https://git-core.googlecode.com/files/git-manpages-1.9.0.tar.gz 
tar xf git-manpages-1.9.0.tar.gz


说到这,我先说下,我用的是xmanager,这个蛮好用的,并且我登录的方式是key,pub_key的方式,

我准备重新开个窗口,问题来了,腿都软了,差掉尿出来,哈哈,开个玩笑!

这个时候ssh 怎么也上不去了。纳闷啊,纠结啊,我没有做任何不正当操作啊,并且,只执行了以上几条命令啊,同时我也开启了xshell的log功能,没有做任何危险操作啊,赶快跑去问老大能不能上。老大也上不去了,这下,真的要尿了,,,,,

经过了半个小时的挣扎,纠结,问题最终解决,但是至今不知道上面原因,

我把神奇问题留在下面,你有么有看出来?这是什么原因?

[root@localhost~]# ll /root/  -d
dr-xr-x---. 13 root root 4096 Nov 30 16:18 /root/
[root@localhost~]# 
[root@localhost~]# 
[root@localhost~]# tar xf git-manpages-1.9.0.tar.gz 
[root@localhost~]# ll /root/  -d
drwxr-x---. 16 110493 5000 4096 Feb 15  2014 /root/