日期:2014-05-17 浏览次数:20802 次
?
SSH协议私服
适合公司内部小型团队使用的是SSH协议
因为这个协议简单、快速、安全,唯一麻烦的就是需要设置主机信任关系(将公钥提交到私服上,以使得私服与自己建立信任关系),这类文章网上很多,这里就不讲述了,可以参考以下链接:
http://bbs.scmlife.com/thread-22143-1-1.html
http://blog.prosight.me/index.php/2009/11/485
同时除了标准的SSH协议外,还可以实现一些基于SSH协议封装的东东,比如SSH+GitShell和Gitosis,都可以简化一些配置管理的工作
?
只读的HTTP协议私服
本文主要讲述的还是HTTP协议私服的搭建,这里我们先不考虑如何提交代码,仅考虑检出(只读)的情况
首先,需要一个apache服务器,这个安装就不说了,假设安装完成的apache服务器在~/local/httpd22位置
然后执行以下语句
这里需要注意--bare参数,表示是要生成一个"干净"的仓库,仅包含历史代码不包含工作代码。如果是希望初始化一个已存在的代码库,也可以类似如下命令替换最后一行git命令:
注意这里也使用了--bare参数,表示仅克隆出历史代码
这样完成了一个仓库的初始化,但要客户端可以使用还缺少了一步——配置钩子(hook),执行下面命令:
这样Git会在每次有update之后(post update)执行这个钩子(其实际是执行了命令:git update-server-info,可以通过vi hooks/post-update查看)
现在大功告成,客户端可以执行这样的代码来获取项目代码: