- 首先创建一个git用户来运行git服务:
$ sudo adduser git
- 选定一个目录作为Git目录,在该目录下输入命令:
$ sudo git init --bare example.git
之后就会生成一个裸仓库,裸仓库没有工作区,因为作为服务器端,只是用来作为共享用的。然后更改所有者为git:
$ sudo chown -R git:git example.git
- 禁用shell登陆:
作为服务器端,为了安全起见,需要禁用git用户的shell登陆。打开/etc/passwd,将:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
- 克隆远程仓库
现在就可以使用git clone来克隆仓库了:
$ git clone git@server:/home/git/example.git
如果提示权限不足,则修改example.git的权限即可。
小结
这种办法对于小团队的项目开发比较好用,此方法对远程仓库操作时需要输入git账户的密码,这个可以通过SSH创建证书登录,就不需要每次都输密码了。
另外,服务器端创建的仓库为裸仓库,没有工作区,所以推送后也看不到所推送的代码。