当我尝试从我的 Windows 计算机推送时,我正在尝试在我的测试服务器上设置一个 git 存储库
git push ssh://git@server.com:/path/.git
我得到了错误
fatal: The remote end hung up unexpectedly
但是当我通过 ssh 进入我的服务器并尝试执行完全相同的命令时,它工作得很好。这是我的 git 设置问题还是我的 Windows 设置问题
最佳答案
这个问题可能是由很多问题引起的:
- Git 安装在服务器上某个奇怪的地方,并且“git”用户在交互式登录时获得的环境(您通过 PuTTY 或其他方式手动完成)与环境不同它在以非交互方式登录时获取(git 客户端为您执行此操作)。这是因为 Unix shell 在这些情况下读取不同的启动文件,并且当
git
使用 SSH 生成远程git
实例时,它仍然会在服务器。 - 您遇到本地问题(例如,您将 Git 配置为使用
plink.exe
访问服务器,它要求您通过输入“y”或“n”来接受主机的 key (这是你做不到的)。
无论如何,请尝试以下步骤:
- 运行
plink.exe git@server.com "git --version"
并查看它是否能够在服务器上运行 Git。如果您不使用plink.exe
,请使用 Git for Windows 附带的 OpenSSH 附带的任何二进制文件;可能是ssh.exe
。 在运行
git push
之前导出GIT_TRACE=1
并查看它是否打印出任何提示出错的信息,如下所示:C:\foo>GIT_TRACE=1 C:\foo>git push ssh://git@server.com:/path/.git
关于windows - Git远程端意外挂了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10442380/