gpt4 book ai didi

windows - 为什么 Git 命令在 Windows 10 上通过 Win32-OpenSSH 失败?

转载 作者:可可西里 更新时间:2023-11-01 11:44:34 30 4
gpt4 key购买 nike

我已经设置了Win32-OpenSSH在 Windows 10 系统上,我使用的是 Git for Windows 2.16.1。
我已经创建了一个裸测试存储库,我可以通过文件 URL 从中很好地克隆:

git clone file:///c:/test.git
Cloning into 'test'...
remote: Counting objects: 33, done.
remote: Compressing objects: 100% (32/32), done.
remote: Total 33 (delta 11), reused 0 (delta 0)
Receiving objects: 100% (33/33), done.
Resolving deltas: 100% (11/11), done.

SSHD 也运行良好,我可以从我的平板电脑打开一个 shell,并通过 SFTP 访问存储库目录:

> sftp oli@localhost
oli@localhost's password:
Connected to oli@localhost.
sftp> pwd
Remote working directory: /C:/Users/Oli
sftp> cd /c:/test.git
sftp> pwd
Remote working directory: /c:/test.git
sftp> ls
HEAD config description hooks info objects packed-refs refs
sftp> bye

但是由于某些原因,通过 SSH 克隆失败了:

> git clone ssh://oli@localhost:22/c:/test.git
Cloning into 'test'...
oli@localhost's password:
fatal: ''/c:/test.git'' does not appear to be a git repository
fatal: Could not read from remote repository.

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

用户“Oli”肯定具有正确的访问权限,并且我们在上面看到该存储库存在并且是一个有效的 Git 存储库。我还在路径上尝试了许多不同的语法变体。
我已经阅读了这里关于 Git/SSH/Windows 的所有问答、Git Pro 书籍、Git 引用资料、OpenSSH 手册和 Win32-OpenSSH wiki。

我错过了什么?

最佳答案

这已由 Konstantin 回答在 this question (感谢您的链接,Aurel):

The problem is - cmd.exe doesn't understand single-quoted parameters.

Git 将存储库路径传递到单引号中,这在 cmd.exe 中不起作用。
这实际上可以在上面的 Git 错误消息中看到,如果你仔细观察的话:

fatal: ''/c:/test.git'' does not appear to be a git repository

所以我已经设置了 Konstantin 建议的解决方法:

  • 在服务器上我的主目录中创建 shell 脚本 gup.sh 和 grp.sh,每个脚本都包含单行 git-upload-pack.exe $* resp。 git-receive-pack.exe $*
  • 在初始克隆操作中使用参数 -u 'sh gup.sh'(在 cmd.exe 中执行此操作时,使用双引号...)
  • 使用命令 git config remote.origin.uploadpack 'sh gup.sh'git config remote.origin.receivepack 'sh grp.sh' 配置克隆的存储库

...并且有效。

可悲的是,康斯坦丁的回答不是被接受的,也是最不受欢迎的。因此,如果这对您也有帮助,请为他的回答点赞!

关于windows - 为什么 Git 命令在 Windows 10 上通过 Win32-OpenSSH 失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48603491/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com