Git 从 Windows 克隆到 Windows 无法找到存储库

Git 从 Windows 克隆到 Windows 无法找到存储库

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 --loginshell,主目录设置为/a/。我可以通过 SSH 顺利连接到服务器,它会按预期将我带入 Git Bash shell,从 目录开始/a/

/a/myRepo.git我在磁盘上有一个裸存储库A:,只要我们在本地进行操作,它就可以完成所有工作。我可以git clone /a/myRepo.git对其进行操作、推送和拉取,只要它是本地的(或通过 SSH 进行“本地”操作),就没有问题。此外,我们将 A: 磁盘设置为共享文件夹,我可以使用从本地网络计算机克隆、推送和拉取\\<server>\myRepo.git

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

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

答案1

  1. 了解 Git 支持的协议和 URL 格式
  2. 使用正确、无歧义的解释存储库的 URL:使用 SSH 和 URLS 时似乎与 SSH 一样,它更像 SCP 格式。即 - 路径部分的起点不是 $HOME,而是 ssh 服务器的根目录

我希望ssh://gituser@<server>/~/myRepo.git能够工作(正式地,除了一些可能与 ssh 无关的其他问题)

相关内容