1、简单搭建,不提供复杂的权限管理;html
远程创建git用户,并打开ssh服务;见http://www.cnblogs.com/whj198579/archive/2013/04/09/3009350.html,
上面这个网址中的方法能够创建一个简单的git服务器,没有读写权限管理;
本地config配置可见:http://wlog.cn/soft/git-ssh-server-for-debian.html;
本地config的做用是不用每次都输入ip等;git
2、使用gitosis提供复杂的权限管理:
1.先在客户端生成public key,传递到远程。apache
scp ~/.ssh/admin.pub git@yourOtherMachineName:admin.pub服务器
2.gitosis安装过程见http://yasir.cn/blogs/blog/38/
注意,上面安装过程当中使用的公钥是做为管理员的客户端建立的。clone gitolite-admin也是在做为管理员的客户端作的,由此客户端管理远程,不用每次都去服务端操做,gitolite-admin会在修改push后在服务端生成须要的目录等。另外,使用gitolite-admin后不用在每次clone时指定服务端的git仓库路径,上面没有使用gitosis的方法是须要clone时指定服务器git仓库所在路径的。ssh
3、以上是ssh的方式访问git仓库;如何用http创建一个远程仓库呢post
1.首先启动Apache:spa
1 | sudo apachectl start |
此时Mac就成了一个Web服务器。服务器默认访问路径:/Library/WebServer/Documents/code
2.初始化一个裸仓库,假设是proj.gitserver
1 | mkdir proj.git |
1 | git init --bare |
或者clone一个现有仓库做为裸仓库:htm
1 | git clone --bare ~/proj proj.git |
3.将裸仓库放到服务器的路径下并设置:
1
2
3
|
$ cd proj.git
$ git --bare update-server-info
$ chmod a+x hooks/post-update
|
4.客户端能够访问了:
1 | git clone http: //yourserver.com/proj.git的路径 |