我有一个关于 gitosis 和 gitolite 的问题,我花了很多时间研究但无济于事。在严格按照这两种产品的设置说明之后,常见的症状是目标存储库没有通过 gitosis/gitolite 正确定位:
这失败了:
$> git clone gitolite@example.com:testing
Cloning into testing...
fatal: 'testing' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
虽然这有效:
$> git clone gitolite@example.com:~/repositories/testing
Cloning into testing...
warning: You appear to have cloned an empty repository.
所以指定完整路径是可行的,但这表明我们没有以某种方式运行 gitosis/gitolite。
该问题的另一个可能相关症状是,当我在安装后通过 ssh 连接到服务器时,我的连接冻结并显示以下消息:
$> ssh gitolite@example.com
PTY allocation request failed on channel 0
此外,当我执行“ssh gitolite@example.com info”时,我不断获取 GNU 信息而不是 gitolite 的信息(如果我将 '/usr/local/bin/gl-auth-command kreeble' 作为 gitolite 运行,我可以获得在服务器上)。我已经确认在用户 gitolite 的 .ssh 目录中,authorized_keys 只有一个条目可以让我通过 gitolite 命令:
command="/usr/local/bin/gl-auth-command kreeble",no-port-forwarding,\
no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa long_key_base64_here \
user@machine.local
关于为什么我不会收到 gitolite 提示的任何想法?我将不胜感激任何关于这个问题的想法,谢谢!