gitolite-admin克隆问题

时间:2012-05-24 11:52:28

标签: git ubuntu clone gitolite

我很难解决克隆gitolite-admin存储库的问题。 我已经按照这个http://sitaramc.github.com/gitolite/install.html#migr完成了它。

我跑了ssh-keygen -t rsascp ~/.ssh/id_rsa.pub morten@ubuntu-server:/tmp/morten.pub

服务器上的authorized_keys如下所示:

# gitolite start
command="/home/morten/gitolite/src/gitolite-shell morten",no-port-forwarding,no-X11-forwarding,no-agent-forward$
# gitolite end

哪个AFAIK没问题。

当我在我的客户端上运行git clone morten@ubuntu-server:gitolite-admin时,我得到了

fatal: 'gitolite-admin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

我不知道我错过了什么!

1 个答案:

答案 0 :(得分:5)

使用morten帐户完全没问题。

但是,考虑到您当前的~morten/.ssh/authorized_keys内容,您的安装很奇怪:

而不是/home/morten/gitolite/src/gitolite-shell morten |,您应该/home/morten/gitolite/bin/gitolite-shell morten

这意味着:gitolite-shell应该在您的$PATH中,它应该位于bin目录中,在执行后创建:

"${github}/install" -to "${gtl}/bin"

(参见“Installing Gitolite”的“实际安装”部分的选项3)

使用:

  • github您克隆的路径https://github.com/sitaramc/gitolite
  • gtl您要安装gitolite的路径(例如,/home/morten/gitolite

然后,更容易保存authorized_keys.gitolite.rc文件,并重新执行初始化过程:

gitolite setup -pk "${HOME}/.ssh/gitoliteadm.pub"

(前提是您创建了公钥和私钥,并将其命名为“gitoliteadm”,只需简单:

ssh-keygen -t rsa -f "${H}/.ssh/morten" -C "Gitolite Admin access (not interactive)" -q -P ""

请注意,我保留'ssh'帐户名称(morten)的目的与gitolite服务器帐户(gitoliteadm)不同。

您仍将使用git clone morten@ubuntu-server:gitolite-admin进行克隆(因为所有ssh文件都在~morten/.ssh中),但您将使用gitoliteadm的私钥/公钥进行克隆,这会促使gitolite访问它使用名为“gitoliteadm”的gitolite“帐户”进行回购。

这样,如果您更改gitolite服务器的物理用户帐户,则为“逻辑”帐户“gitoliteadm”(指角色,而不是个人或资源)。