以centos为例,简单介绍如何搭建git服务器。
安装git
1 | yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel |
创建用户
创建一个git用户组和用户,用于运行git服务,并设置密码
1 | sudo groupadd git |
创建登录证书
收集所有需要登录的用户的公钥,公钥位于id_rsa.pub, 把公钥导入到/home/git/.ssh/authorized_keys,如果需要创建:
1 | cd /home/git/ |
初始化git仓库
需要选定一个目录作为git仓库,比如/home/gitrepo/demo.git
1 | cd /home |
修改仓库的用户组和用户
Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
1 | chown -R git:git demo.git |
禁用用户git的shell登录
处于安全考虑,用户git禁用shell登录
1 | vi /etc/passwd |
clone 远程仓库
至此,git仓库就可以使用了
1 | git clone git@192.168.1.1:/home/gitrepo/demo.git |
参考