查看当前git版本号(原来没有git的话会提示报错)
1 | git --version |
如果嫌弃版本太低的花可以删除旧版本的git
1 | yum remove git |
先安装git编译需要的依赖包
1 | yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel |
下载git的源码包 :《查看git所有版本》
1 | cd /usr/local/src/ |
解压下载的文件,解压到/usr/src目录下
1 | tar -zxvf git-2.9.5.tar.gz -C /usr/src |
编译安装,编译和安装,都是在user/local/git目录下;需要等一段时间
1 | //编译 |
配置环境变量,上一步安装是在user/local/git的目录下,在/etc/profile文件的末尾加上
1 | echo "export PATH=/usr/local/git/bin:$PATH" >> /etc/profile |
刷新配置文件
1 | source /etc/profile |
查看是否安装成功
1 | git --version |
由于安装路径是/usr/local/git,不是默认路径,所以需要建立链接文件
1 | ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack |
创建一个git用户组和用户用于运行git服务
1 | //创建git用户组 |
在服务器里创建/home/git/.ssh/authorized_keys,将本地公钥文件id_rsa.pub里的公钥导入到服务器/home/git/.ssh/authorized_keys文件里
1 | cd /home/git/ |
至此完成,现在可以克隆代码了
1 | git clone git@你的服务器地址:/srv/git/test.git |
安全起见,禁止git用户shell登陆
编辑/etc/passwd
1 | vim /etc/passwd |
将
1 | git:x:1002:1002::/home/git:/bin/bash |
改为
1 | git:x:1002:1002::/home/git:/usr/local/git/bin/git-shell |
即可
注意,上方的/usr/local/git/bin/git-shell
是git安装路径,如果不知道可以运行which it-shell
查看
也可以把shell默认端口改了
1 | vim /etc/ssh/sshd_config |
将
1 | #Port 22 |
前面的#号注释去掉,22改成你想要的端口,记得防火墙要对应放行该端口
1 | //放行端口 |
重启sshd服务
1 | systemctl restart sshd.service |
更改端口后克隆命令要写成这样
1 | git clone ssh://git@你的服务器地址:端口/srv/git/test.git |