从 Windows 到 Windows 的 Git 克隆找不到存储库

wer*_*mon 5 windows ssh git

git clone gituser@<server>:myRepo.git 不起作用,失败并显示错误消息:

fatal: ''myRepo.git'' does not appear to be a git repository

背景:

我们有一台装有 Git Bash 和 Bitvise WinSSHd(在C:)的 Windows 7 机器。SSH 服务器设置为<git dir>/bin/sh.exe --login用作 shell,主目录设置为/a/. 我可以很好地通过 SSH 连接到服务器,它会按预期将我放入 Git Bash shell,从/a/目录开始。

我在/a/myRepo.git(在A:磁盘上)有一个裸存储库,它可以完成它应该做的一切,只要我们在本地进行。我可以git clone /a/myRepo.git,处理它,推拉,只要它是本地的(或通过 SSH 的“本地”)就没有问题。此外,我们将 A: 磁盘设置为共享文件夹,我可以使用\\<server>\myRepo.git.

但是,当我尝试远程克隆时,我无法弄清楚哪些选项组合可以使其工作:明显的克隆字符串不起作用,将绝对路径名放在 *nix 转换格式 ( /a/myRepo.gitand A:/myRepo.git) 或 Windows 格式 ( A:\\myRepo.git) 失败并出现相同的错误,目录的权限设置为允许所有用户,我也在git config core.sharedRepository all服务机器上设置。

我怀疑 Git Bash 将 Windows 驱动器号重新映射为/<letter>格式,但我尝试在 C: 上创建另一个裸存储库,它给了我相同的错误消息。

Laz*_*ger 0

  1. 了解 Git 协议支持和 URL 格式
  2. 使用正确的、明确解释的存储库 URL:虽然您使用 SSH,但 URLS看起来像 SSH,但它更像 SCP 的格式。即 - 路径部分的起点不是 $HOME,而是 ssh 服务器的根目录

我预计ssh://gituser@<server>/~/myRepo.git必须工作(正式来说,除了一些可能与 ssh 无关的额外问题)