参考文章:廖雪峰老师关于git的教程
1.安装git
sudo apt-get install git
2.创建git用户
sudo adduser git
3.创建ssh证书文件(如果已经存在则不需要创建)
sudo mkdir /home/git/.ssh
sudo touch /home/git/.ssh/authorized_keys
4.修改authorized_keys文件的权限
sudo chmod 644 /home/git/.ssh/authorized_keys
5.禁用shell登录
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd
文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
6.收集客户端用户的公钥,即id_rsa.pub文件,导入 /home/git/.ssh/authorized_keys文件中
(1)客户端打开Git Bash,切换到.ssh目录,其中id_rsa.pub为公钥;
(2)将id_rsa.pub文件copy到服务器
scp ~/.ssh/id_rsa.pub [email protected]:/tmp/
(3) 在服务器端将客户端的密钥写入/home/git/.ssh/authorized_keys密钥存储文件中,一行一个。
cat /tmp/id_rsa.pub >> /home/git/.ssh/authorized_keys
7.初始化git仓库
(1)先选定一个目录作为Git仓库,假定是/srv/sample.git
,在/srv
目录下输入命令:
sudo git init --bare sample.git
(2)Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git
结尾。然后,把owner改为git
:
sudo chown -R git:git sample.git
8.克隆远程仓库
git clone git@server:/srv/sample.git