我在 Archlinux 上尝试配置 gitosis 时遇到了一些问题
http://wiki.archlinux.org/index.php/Setting_Up_Git_ACL_Using_gitosis http://wiki.archlinux.org/index.php/Setting_Up_Git_ACL_Using_gitosis
我参考了这篇wiki文章并成功安装了gitosis。
$ sudo pacman -U gitosis-git-20090525-1-i686.pkg.tar.gz
$ sudo -H -u gitosis gitosis-init
并修改 /srv/gitosis/.ssh/authorized_keys 以包含我的本地用户的 id_rsa.pub。
但当我跑步时git clone
作为本地用户,
$ git clone gitosis@host:gitosis-admin.git
It says
在 /home/wyx/gitosis-admin/.git/ 中初始化空 Git 存储库
[电子邮件受保护] /cdn-cgi/l/email-protection密码:*****
致命:“gitosis-admin.git”似乎不是 git 存储库
fatal:远端意外挂断
所以git克隆操作失败。我想知道为什么它尝试在我的本地用户目录(/home/wyx)中初始化一个空的 git 存储库?既然我已经在 .ssh/authorized_keys 中添加了本地用户的 id_rsa.pub,为什么它仍然要求输入密码?
创建了一个空存储库,因为这就是 git 的工作方式:它必须先初始化一个存储库,然后才能开始将远程对象拉入其中。不幸的是,这意味着您必须手动删除空存储库,然后才能再次尝试克隆。
至于克隆失败的原因,看起来您对远程存储库路径使用了错误的语法;git clone
不使用 scp 语法。事实上,如果您不指定克隆协议,我相信它会假定 git 协议而不是 ssh,这可能就是它要求您输入密码的原因。试试这个:
$ git clone ssh://gitosis@host/~/gitosis-admin.git
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)