- 查看已有git的版本号
git --version
- 卸载并安装指定版本的git (视个人情况)
yum remove git
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
- 查找指定版本下载到指定目录(https://mirrors.edge.kernel.org/pub/software/scm/git/)
wget -P "/本地指定目录" https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.17.0.tar.gz
- 解压到指定位置并安装(视个人情况操作)
tar zxf git-2.17.0.tar.gz
make prefix=/usr/git/git-2.17 all
make prefix=/usr/git/git-2.17 install
- 配置环境变量
echo "export PATH=$PATH:/usr/git/git-2.17/bin" >> /etc/bashrc
source /etc/bashrc
- 建立软链接
ln -s /git安装目录/bin/git /usr/bin
- 创建裸仓库
git init --bare virtual.git
- 添加一个用于运行git的用户(此处使用git作为用户名)、为git文件目录设置权限
adduser git
passwd git
chown -R git:git virtual.git
- 通过编辑/etc/passwd文件禁止上一步骤中添加的git用户使用bash
git:x:1001:1001::/home/git:/bin/bash
改为:
git:x:1001:1001::/home/git:/usr/local/bin/git-shell
- 在创建的git用户目录(/home/git)下创建ssh配置文件
mkdir .ssh
toush .ssh/authorized_keys
chmod 700 .ssh/
chmod 600 .ssh/authorized_keys
- 客户端生成ssk密钥-按照提示进行输入、操作
ssh-keygen -t rsa -C "xxx@xxx.x"
- 在客户端当前用户目录下进入.ssh文件查看客户端公钥,将公钥追加到服务器上上一个步骤中创建的的authorized_keys文件中(添加多个时注意换行);
- 同时在.ssh目录下创建config文件:
host git-server
user git
hostname 服务器地址
port 22
identityfile ~/.ssh/id_rsa
StrictHostKeyChecking no
- clone远程仓库
git clone git-server:/远程仓库目录/xxx.git