1

虽然有几个 具有相似症状的问题,但没有一个是完全相同的,那里提供的解决方案也不能解决我的问题。

据我所知,我已使用这些说明并在克服此问题后成功设置了 gitolite 。主机用户是git,我在我的工作站上设置了以下 .ssh/config 文件:

Host admin
    Hostname server.com
    User git
    IdentityFile ~/.ssh/admin


Host dev
    Hostname server.com
    User git
    IdentityFile ~/.ssh/micha

我可以使用管理员配置 sshssh admin并获得以下响应:

stdin: is not a tty
hello admin, this is git@hostname running gitolite3 v3.5.1-2-g962e465 on git 1.7.10.2

 R W    gitolite-admin
 R W    testing
Connection to xxx.xxx.xxx.xxx closed.

每当我尝试克隆 gitolite-admin 存储库时,我都会收到以下响应:

Cloning into 'gitolite-admin'...
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

根据之前的 ssh 回复,我确实有访问权限。我还验证了 git 用户是服务器上存储库文件的所有者。经过研究,我已将本地 GIT_SSH 从 TortoisePlink.exe 更改为 C:\Program Files (x86)\Git\bin\ssh.exe 并且仍然得到相同的响应。克隆命令的以下所有变体都会引发相同的响应:

  • 'git 克隆管理员:gitolite 管理员'
  • 'git克隆管理员:gitolite-admin.git'
  • 'git clone admin:repositories/gitolite-admin'
  • 'git clone admin:~/repositories/gitolite-admin'
  • 'git clone ssh://admin:gitolite-admin'
  • 'git 克隆 git@admin:gitolite-admin'
  • 上述变化的各种排列。

我现在不知道如何克服这个问题。

4

1 回答 1

1

事实证明我已经解决了这个问题,我只需要关闭 git-bash 并重新启动它。如本答案所示,将 GIT_SSH 变量从 TortoisePlink 更改为 C:\Program Files (x86)\Git\bin\ssh.exe是需要的。

也许天真地,我以为每次使用 git clone 命令时都会解析变量,但是一旦我重新启动 git-bash, git clone 命令就起作用了!

于 2013-05-20T02:42:28.343 回答