【问题标题】:can't push with gitolite - ENV GL_RC not set不能用 gitolite 推动 - ENV GL_RC 未设置
【发布时间】:2012-01-31 04:37:02
【问题描述】:

我在这里遇到了与这篇文章类似的问题:gitolite push error -> remote: ENV GL_RC not set

我已将 gitolite 作为非 root 方法成功安装,没有任何警告或错误。但是我无法推动,因为我得到 ENV GL_RC not set 错误。 (如果我尝试在我的 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/ 的文档,但我似乎无法理解。有什么想法可以解决这个问题吗?

【问题讨论】:

    标签: git git-svn githooks gitolite


    【解决方案1】:

    我确认:

    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 的密钥)。

    这是 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= 指令为前缀。

    【讨论】:

    • 谢谢!我已经坚持了一周。新年快乐!
    • @yekta: 不客气,祝你新年快乐(十分钟后)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    • 2013-10-10
    • 2023-03-28
    相关资源
    最近更新 更多