git中如何正确填写远程Windows服务器路径完成SSH拉取推送
Git SSH访问Windows虚拟机仓库的正确路径写法
问题根因
你之前的路径写法不符合Windows版OpenSSH服务的路径解析规则:
- 以
/path/to/project形式传入的路径会被OpenSSH识别为Linux风格绝对路径,Windows系统下没有对应根路径,会默认拼接OpenSSH服务的启动目录(通常为C:\Windows\System32),最终找不到目标仓库 - 直接传入
C:/users/xxx形式的路径会被识别为相对路径,默认拼接SSH登录用户的主目录(C:\users\administrator),拼接后路径非法导致读取失败
正确写法
有两种经过验证的可用写法:
写法1:SSH URL格式(推荐)
将Windows盘符转换为/[盘符小写]/的形式放在路径开头,完整命令如下:
git pull ssh://administrator@127.0.0.1:2222/c/users/administrator/path/to/project
写法2:带引号的Windows原生路径格式
保留Windows原生路径格式,外侧加单引号避免特殊字符被转义:
git pull ssh://administrator@127.0.0.1:2222/'C:\users\administrator\path\to\project'
验证方法
你可以先通过SSH登录Win7虚拟机,直接执行以下命令验证路径有效性:
ssh -p 2222 administrator@127.0.0.1 "cd /c/users/administrator/path/to/project && git status"
如果能正常输出仓库状态,说明路径完全正确。
额外注意事项
如果你后续需要从Ubuntu推送代码到Win7的工作区仓库,需要先在Win7的仓库目录执行以下配置,否则推送会报错:
git config receive.denyCurrentBranch updateInstead
内容的提问来源于stack exchange,提问作者letrois
相关产品推荐
相关产品推荐

