Git远端意外挂了

我试图在我的Windows电脑上试图build立一个在我的testing服务器上的git repo

git push ssh://git@server.com:/path/.git 

我得到错误

 fatal: The remote end hung up unexpectedly 

但是,当我ssh进入我的服务器,并试图做到完全相同的命令,它工作得很好。 这是我的git安装程序或我的Windows安装程序的问题

问题可能是由以下几个问题引起的:

  • Git安装在服务器上的某个奇怪的地方,交互式地登录(“手动”通过PuTTY或者其他方式)进行登录时,“git”用户获得的环境与以非交互方式登录时获得的环境不同git客户端为你做这个)。 这是因为Unix shell在这种情况下读取不同的启动文件,当git使用SSH产生远程git实例时,它仍然会在服务器上产生默认的(用户)shell。
  • 你有一个本地的问题(比如说,你配置Git使用plink.exe来访问服务器,并要求你输入“y”或“n”(你不能这么做)来接受主机的密钥)。

无论如何,请尝试以下步骤:

  1. 运行plink.exe git@server.com "git --version" ,看到它能够在服务器上运行Git。 如果您不使用plink.exe使用Git for Windows附带的随OpenSSH提供的任何二进制文件; 可能是ssh.exe
  2. 在运行git push之前导出GIT_TRACE=1 ,看它是否打印出任何暗示出错的东西,如下所示:

     C:\foo>GIT_TRACE=1 C:\foo>git push ssh://git@server.com:/path/.git 

我怀疑问题是用户的'git'没有远程仓库的写入权限,并且你可能正在手动连接你自己的用户名(cemurray或者其他的)。