windows - Git远程端意外挂了

标签 windows git ssh

当我尝试从我的 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 (这是你做不到的)。

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

  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
    

关于windows - Git远程端意外挂了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10442380/

相关文章:

c++ - timeEndPeriod 是恢复之前的值还是默认值?

c++ - 如何一致地重播事件列表

windows - GitHub 操作拉取 Windows 图像

python - 开始使用 Git Python

maven-2 - Maven使用SSH将本地文件复制到远程服务器

windows - 推送后输入 key/.ssh/id_rsa' 的密码

windows - 远程计算机上的传输速度慢

Git merge 策略将 'patch'分支整合到 'minor', 'minor'分支整合到 'major'

git 忽略目录 "build"及其所有内容,但不包括 "build.xml"

git - 如何让 git 默认使用 ssh 而不是新存储库的 https