inv*_*tax 6 debian git repository gitolite
我正在运行 Debian 系统,最近使用 DEB 包安装了 gitolite。
这是我的问题:
我试图克隆 gitolite-admin.git 存储库(用于为您希望 gitolite 为您管理的所有存储库配置 gitolite 安装)。
我的第一次尝试正是说明如何说明:
git clone gitolite@server:gitolite-admin
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
fatal: 'gitolite-admin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
注意:如果我用 gitolite-admin.git 替换 gitolite-admin 会发生同样的事情
,当我执行以下操作时:
git clone gitolite@server:~/repositories/gitolite-admin.git
Run Code Online (Sandbox Code Playgroud)
这一行成功地将存储库克隆到我的本地工作站。
现在,我可以将额外的文本添加到文件路径中,但我被告知这是不正确的文档。
以下链接(http://sitaramc.github.com/gitolite/doc/3-faq-tips-etc.html)指出“在 git clone 中的存储库名称开头添加存储库/”是一个常见错误/错误。它还指出“实际上 gitolite 在内部预先添加了 $REPO_BASE,所以你不应该也做同样的事情!”
我的 .gitolite.rc 文件包含 $REPO_BASE 的以下行:
[Located in /home/gitolite/.gitolite.rc]
$REPO_BASE="repositories";
Run Code Online (Sandbox Code Playgroud)
我的问题是,我的配置有什么问题,导致 $REPO_BASE 没有在我的 git clone 前面加上?
如果您需要任何进一步的信息,请发表评论说明您需要什么信息,我将很乐意提供帮助。
其他注意事项:
能够访问gitolite@server:~/repositories/gitolite-admin.git
, but notgitolite@server:gitolite-admin
表示您不会“通过” Gitolite,而只是使用基于 SSH 的普通访问权限来访问 gitolite 用户。
如果ssh gitolite@server echo normal access
yields normal access
,那么您使用的密钥不限于通过 Gitolite。如果您正在浏览 Gitolite,您会看到类似bad command: echo normal access
.
如果您有一个用于通过 SSH 连接到 gitolite 用户本身的密钥,并且您尝试使用相同的密钥作为 Gitolite 用户进行身份验证,则可能会发生这种情况。“正常访问”键将出现在 gitolite 中,.ssh/authorized_keys
没有任何特殊前缀。配置为通过 Gitolite 的密钥行将以command="/path/to/gl-auth-command gitolite-username",…
.
如果您需要对 gitolite 用户的基于 SSH 的正常访问和基于 Gitolite 的访问,那么您应该为这些目的设置单独的密钥,以便您可以指定要与文件中的IdentityFile
选项一起使用的密钥.ssh/config
(IdentitiesOnly
如果您发现ssh正在使用“错误”的密钥,因为您已经将它加载到ssh-agent 中)。
例如:
使用您的“默认”密钥之一(ssh的默认密钥之一(例如~/.ssh/id_rsa
)或您通常在ssh-agent 中加载的某个密钥)访问 Gitolite(即您在 active 中有公钥keydir/your-gitolite-user-name.pub
)。
生成~/.ssh/gitolite-user
用于直接登录 gitolite 用户。使用ssh -i ~/.ssh/gitolite-user gitolite@server
登录。或者,将自定义条目添加到~/.ssh/config
:
Host gitolite-user
User gitolite
HostName server
IdentityFile ~/.ssh/gitolite-user
IdentitiesOnly yes
Run Code Online (Sandbox Code Playgroud)
所以你可以ssh gitolite-user
登录。
归档时间: |
|
查看次数: |
6969 次 |
最近记录: |