如何在 git 克隆中使用项目名称?

how to use project name in git clone?

我使用 gitosis 来管理 git 存储库。通常我用这样的命令模式克隆一个项目

git clone git@host:MyProject.git

MyProject 的完整路径是/home/git/repositories/MyProject.git

今天,我想创建一个新帐户来共享我的项目,所以我创建了一个名为 share 的帐户,使用此帐户,我使用 ssh-keygen 创建了一个 ssh 密钥,并把它在 gitosis.

现在可以访问项目了。但问题是:使用此帐户,我必须访问具有完整路径的存储库:

git clone share@host:/home/git/repositories/MyProject.git

有谁知道如何只用项目名称克隆它?

这不是 gitosis(obsolete since 2009) or gitolite 的工作方式。
请参阅“How do programs like gitolite work?”(也适用于 gitosis)

您的存储库的 url 将 始终git@host:MyProject.git,这意味着您始终使用帐户 git 通过 ssh 访问该服务。

在使用 url 时,您只需使用不同的 public/private 密钥 (share/share.pub):这将允许 gitosis/gitolite(安装在主机上)进行身份验证您在预先配置的路径中共享和访问 MyProject.git。

定义一个配置文件:~/.ssh/config 其中:

host gitosis-share
     user git
     hostname host.com
     identityfile ~/.ssh/share

并使用url:gitosis-share:MyProject.git