gitosis安装补充说明

来源:互联网 发布:限制安装软件工具 编辑:程序博客网 时间:2024/06/05 18:05
安装部署具体可以参考http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way,或者参考《pro git》相关章节。这里只列出对问题的总结。 

1.gitosis-init时直接使用git账户操作即可 
Shell代码  收藏代码
  1. [git@localhost ~]$ gitosis-init < /tmp/id_rsa.pub  


2. 
init成功后,默认生成: 
Shell代码  收藏代码
  1. Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/  

并且以/home/git/repositories作为git项目的根目录,也就是新建的或者已有的git项目需要放到这里。 
那么访问路径就可以直接写项目的相对路径了,比如: 
Shell代码  收藏代码
  1. git clone git@localhost:gitosis-admin.git  

注意到这里并不是repositories/gitosis-admin.git或者其他的。 

3.gitosis只会在ssh的公钥授权方式起作用 
如果使用ssh的密码授权clone项目,gitosis是不起作用的。也就是大家对所有项目都是读写的权限,并且项目路径是绝对路径,这时候clone的路径为: 
Shell代码  收藏代码
  1. git clone git@localhost:/home/git/repositories/gitosis-admin.git  

这和未安装gitosis是一致的。未安装gitosis之前,不管是公钥授权还是密码授权,均使用绝对路径。 

4.'gitosis-admin.git' does not appear to be a git repository错误 
ssh一般会配置为公钥和密码授权两者同时开启,当公钥验证不通过时,还会继续使用密码验证,这时候会提示输入密码。所以经常会出现以下的错误: 
Shell代码  收藏代码
  1. [root@localhost ~]# git clone git@localhost:gitosis-admin.git  
  2. Cloning into gitosis-admin...  
  3. git@localhost's password:  
  4. fatal: 'gitosis-admin.git' does not appear to be a git repository  
  5. fatal: The remote end hung up unexpectedly  

原因: 
客户端和服务端的公钥授权没配置正确,解决即可。 
另: 
因为触发了密码授权,提示错误确实是因为路径找不到,参考第3点,这时候如果写绝对路径,也可以获取到项目,但是绕过了gitosis的权限控制。
0 0
原创粉丝点击