我在这篇文章中遇到了类似的问题:gitolite push error -> remote: ENV GL_RC not set
我已成功安装了gitolite作为非root方法,没有任何警告或错误。因为我没有设置ENV GL_RC没有设置错误,所以我无法推送。 (如果我尝试在我的ENV中手动分配,我会遇到麻烦。)
如果我使用,我可以克隆:
git clone git@server:repositories/gitolite-admin
上面链接的解决方案是使用以下我不能做的。如果我使用,我无法克隆:
git clone git@server:gitolite-admin
这会导致错误:
Cloning into gitolite-admin...
fatal: 'gitolite-admin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
我无法进行软件包安装,因为我在Ubuntu 10.04 LTS上,它的存储库列表中没有它。
我查看了http://sitaramc.github.com/的文档但是我似乎无法得到它。我有什么想法可以解决这个问题吗?
答案 0 :(得分:2)
我确认:
a / git clone git@server:repositories/gitolite-admin
会绕过gitolite,从而触发ENV GL_RC not set
错误。
b / git clone git@server:gitolite-admin
是正确的语法,通常会失败ssh reason:
特别要注意
command=
选项,这意味着“无论传入用户要求做什么,都要强行运行此命令”。如果没有这个
command=
选项,ssh守护进程只会给你一个shell,这不是我们想要的gitolite键(尽管我们可能还有其他的键用于获取shell)。 / p>这是使gitolite工作的支柱;请确保您理解。
如果你查看
authorized_keys
文件,你会看到这样的条目(当然我切断了它们的结尾;它们很长):
command="[path]/gl-auth-command sitaram",[more options] ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA18S2t...
command="[path]/gl-auth-command usertwo",[more options] ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArXtCT...
请检查并确保~git/.ssh/authorized_keys
中的所有行都正确地以command=
指令为前缀。