一、简单搭建,不提供复杂的权限管理;
远程建立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等;
二、使用gitosis提供复杂的权限管理:
1.先在客户端生成public key,传递到远程。
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的方式访问git仓库;如何用http建立一个远程仓库呢
1.首先启动Apache:
sudo apachectl start
此时Mac就成了一个Web服务器。服务器默认访问路径:/Library/WebServer/Documents/
2.初始化一个裸仓库,假设是proj.git
mkdir proj.git
git init --bare
或者clone一个现有仓库作为裸仓库:
git clone --bare ~/proj proj.git
3.将裸仓库放到服务器的路径下并设置:
$ cd proj.git $ git --bare update-server-info $ chmod a+x hooks/post-update
4.客户端可以访问了:
git clone http://yourserver.com/proj.git的路径
参考:http://gitbook.liuhui998.com/4_11.html