当我尝试从我的 Windows 计算机推送时,我正在尝试在我的测试服务器上设置一个 git repo
git push ssh://git@server.com:/path/.git
我得到错误
fatal: The remote end hung up unexpectedly
但是当我 ssh 进入我的服务器并尝试执行完全相同的命令时,它工作得很好。这是我的 git 设置或我的 Windows 设置的问题吗
该问题可能是由许多问题引起的:
git
使用 SSH 生成远程git
实例时,它仍然会在服务器上生成默认的(用户)shell。plink.exe
访问服务器,它要求您通过输入“y”或“n”(您不能这样做)来接受主机的密钥。无论如何,请尝试以下步骤:
plink.exe git@server.com "git --version"
并查看它是否能够在服务器上运行 Git。如果您不使用plink.exe
Windows 版 Git 随附的 OpenSSH 随附的任何二进制文件;大概是ssh.exe
。GIT_TRACE=1
在运行之前导出git push
,看看它是否打印出任何暗示出了什么问题的东西,如下所示:
C:\foo>GIT_TRACE=1
C:\foo>git push ssh://git@server.com:/path/.git
我怀疑问题是用户“git”没有对远程存储库的写入权限,并且您可能正在使用自己的用户名(cemurray 或类似用户名)手动连接。