ssh - 如果出现以下错误,如何推送到Git仓库: 推送过程中发生内部异常: ssh://git@github.com/xxx/xxx.git: 会话已经关闭

  显示原文与译文双语对照的内容

我最近建立了一个github账户存放项目的源代码我正在做着呢

我使用 egit插件将更改传播到eclipse GitHub 。

我走向胜利的初始代码和2 的后续更改。 但是当我尝试把第三个改变我未能。 以下excepiton出现在eclipse错误日志。

如果有人可以告诉我这个错误的原因,或者告诉我怎么可以开始调试这些问题时,这将是个极大的帮助。

org.eclipse.jgit.api.errors.JGitInternalException: Exception caught during execution of push command
    at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:156)
    at org.eclipse.egit.core.op.PushOperation.run(PushOperation.java:227)
    at org.eclipse.egit.ui.internal.push.PushOperationUI.execute(PushOperationUI.java:145)
    at org.eclipse.egit.ui.internal.push.PushOperationUI$1.run(PushOperationUI.java:202)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.eclipse.jgit.errors.TransportException: ssh://git@github.com/xxx/xxx.git: session is down
    at org.eclipse.jgit.transport.JschSession$JschProcess.<init>(JschSession.java:154)
    at org.eclipse.jgit.transport.JschSession$JschProcess.<init>(JschSession.java:118)
    at org.eclipse.jgit.transport.JschSession.exec(JschSession.java:91)
    at org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.<init>(TransportGitSsh.java:306)
    at org.eclipse.jgit.transport.TransportGitSsh.openPush(TransportGitSsh.java:152)
    at org.eclipse.jgit.transport.PushProcess.execute(PushProcess.java:130)
    at org.eclipse.jgit.transport.Transport.push(Transport.java:1120)
    at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:152)
    ... 4 more
Caused by: com.jcraft.jsch.JSchException: session is down
    at com.jcraft.jsch.Session.openChannel(Session.java:750)
    at org.eclipse.jgit.transport.JschSession$JschProcess.<init>(JschSession.java:147)
    ... 11 more
时间:

我遇到同样的问题。 解决方法如下所示:

  • 中删除原始push和fetch remote( Eclipse view --> Git repositories) 。
  • 关闭Eclipse 。
  • 转到 .sshfolder( Users/ 。ssh ) 和删除注册表项files( 公共专用 ) 。
  • 启动eclipse并重新生成keys( Window --> Preferences --> General tab --> Network connections --> SSH2) 。
  • 复制密钥并将其添加到 github/SSH
  • 在Eclipse 添加新远程更进一步 。

Edit 你可能不需要删除所有的密钥文件。 如果已经添加了密钥文件以前( 可能在设置本机git ),可以只将该文件的名称在列表中的按键,它将正常工作。

我面临同样的问题,我发现解决方案极为愚蠢的。
我把以下步骤:

  • 我登录到 git仓库我的项目从浏览器并没有退出。
  • 我准确地复制了 http url 推送或拉从项目存储库从 GitHub 。
  • 我把伊斯兰宣礼塔 url 在我Eclipse插件推代码时( 没有使用已经存储一个即使两人均为同一)

我不知道为什么但上述步骤所为我在我有遇到上面问题。 我不知道为什么eclipse throw此类异常时,为什么它开始解决这边

你也可以尝试使用其他方式推动eclipse之外。 对于如: `tortoiseGit`或`SmartGit`等等。

我也遇到了相同的问题。 我修好了通过定点 JAVA_HOME 变量 jdk 6 。 最初指向 jdk 5

我这有个错误消息和修理的之一时,我的工作人员email给我这两个文件id_rsa和id_rsa ( MS Pub doc ),我把它们放在C:Users[ userID] 。ssh,然后关闭并重新启动我的IDE 。

我最终还是用EGit并已解决了该问题。 不知道为什么有时候事情就糟糕了 如果你不能靠它通过Eclipse转到你的" git " 文件夹里使用git bash使用Windows 。 使用它可以更加轻松地Linux : 只需打开终端。

这个问题的原因是因为在你登录和SSH密钥变得糟透了 ! " 操作时,使用命令git remote show origin " 并确保如果源的 username@github.com......有时候Eclipse只是把" git " 作为用户名,以便确保使用了正确的用户名改变方法是使用命令 git remote set-url origin https://usrname@github.com/restofthe url. 它应自动更改这些配置在eclipse中。

最好。。。

我也有此问题。

以下命令在git bash,到来就是为了处理这一情况: git remote prune origin

此配置中的Pull/Push损坏分支。

...