我很难让 Github(+Netbeans 工作)。
我想将 ssh 与 git(在 Windows 7 上)一起使用,例如,提交或克隆一个项目,但我不断收到此错误消息:
$ git clone git@github.com:USER/PROJECTNAME.git
error: cannot spawn C:\Program Files (x86)\Git\bin\ssh.exe: No such file or directory
fatal: unable to fork
注意:目前,我的 GIT_SSH
环境变量指向 C:\Program Files (x86)\Git\bin\ssh.exe
,但我也尝试过 C:\Program Files (x86)\Git\bin
,将其完全删除,指向 putty/plink 的文件夹,并指向它们的可执行文件,但仍然是相同的消息.
当我测试连接时一切正常:
$ ssh -T git@github.com
Hi USER! You've successfully authenticated, but GitHub does not provide shell access.
我做错了什么?如果我首先在目录中执行 git init
会有什么不同吗?
编辑:
这没有帮助:
setting GIT_SSH
to plink.exe
and adding plink's path to PATH
**编辑 2 **
GIT_TRACE=2
命令的结果
$ GIT_TRACE=2 git clone git@github.com:XXX/AffableBean
trace: built-in: git 'clone' 'git@github.com:XXX/AffableBean'
Cloning into 'AffableBean'...
trace: run_command: 'Plink.exe' '-batch' 'git@github.com' 'git-upload-pack '\''XXX/AffableBean'\'''
error: cannot spawn Plink.exe: No such file or directory
fatal: unable to fork
最佳答案
到目前为止,没有一个答案对我有用。最终为我解决这个问题的是从我的 GIT_SSH
变量中删除引号并且根本不转义任何字符,没有 MSYS 路径样式(例如 /c/path\to\putty/plink.exe
)。只需正常输入路径,Git 会处理引用。
set GIT_SSH=C:\path to putty\plink.exe
就是这样。使用 GIT_TRACE 时,您可以看到在生成的命令中引用了变量,因此:
添加的双引号改变了传递给命令的字符串
路径用单引号括起来,所以空格没问题。
希望对某人有所帮助。
关于git - 连接到 Github 时为 "Cannot spawn ssh",但 ssh -T git@github.com 有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10574267/