Как я нажимаю на Git Repo, учитывая следующую ошибку: Внутреннее исключение произошло во время push: ssh://git @github.com/xxx/xxx.git: сеанс отключен

Недавно я установил учетную запись github для хранения исходного кода проекта, над которым я работал.

Я использую плагин egit eclipse, чтобы вносить изменения в github.

Я успешно нажал начальный код и два последующих изменения. Однако, когда я попытался нажать третье изменение, я не смог. В журнале ошибок eclipse появляется следующий excepiton.

Если кто-то может сказать мне причину этой ошибки или сказать мне, как я могу отлаживать проблему, это будет большой помощью.

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://[email protected]/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

Ответы

Ответ 1

У меня возникла одна и та же проблема. Резолюция:

  • Удалить исходное нажатие и выбор в удаленном режиме (Eclipse view --> Git repositories).
  • Закрыть Eclipse.
  • Перейдите в папку .ssh (Пользователи/.ssh) и удалите файлы ключей (общедоступный и закрытый).
  • Запустите eclipse и восстановите ключи (Window --> Preferences --> General tab --> Network connections --> SSH2).
  • Скопируйте ключ и добавьте его в github/SSH Ключи
  • В Eclipse добавьте новый удаленный и push.

Edit Вам может не потребоваться удаление всех файлов ключей. Если вы уже добавили ключевой файл ранее (возможно, при настройке native Git), вы можете просто добавить имя этого файла в список ключей, и он будет работать.

Ответ 2

Казалось, это сработало для меня:

Сделайте все, о чем говорят Фироз и Нишант, кроме push: fooobar.com/questions/346032/...

Создайте или отредактируйте следующий файл на рабочем столе:

Файл: ~/.ssh/config Содержание:

Host github.com
    User [your_github_username]
    Hostname github.com
    PreferredAuthentications publickey
    IdentityFile [path_to_private_key]

В вашей программе Eclipse Git для вашего проекта выполните следующие действия:

  • URI: git @github.com: [repo_owner_username]/[repo_name].git
  • Протокол: ssh
  • Имя пользователя: git
  • Пароль: [leave_blank]
  • Сохранить и нажать.

См. эту страницу справки GitHub SSH для полезной информации: http://help.github.com/ssh-issues/

Работал для меня после первоначального страдания через "сеанс вниз" и "не могу открыть ошибки git -upload-pack". Надеюсь, это поможет и всем остальным.

Удачи!

Ответ 3

У меня возникла та же проблема, и я нашел решение, которое было крайне глупо.
Я сделал следующие шаги:

  • Я вошел в репозиторий git моего проекта из браузера и не выходил из системы.
  • Я скопировал http url, чтобы нажать или вытащить из репозитория проекта из github.
  • Я вставлял URL-адрес в свой плагин eclipse при нажатии кода (не использовал уже сохраненный, хотя оба они были одинаковыми)

Я не знаю, что и почему, но выше шаги работали на меня всякий раз, когда я столкнулся с проблемой. Я не знаю, почему затмение бросает такие исключения и почему оно решается таким образом.

Вы также можете попробовать нажать, используя другие способы за пределами затмения. например. `TortoiseGit` или` SmartGit` и т.д.

Ответ 4

У меня была та же проблема. Я исправил его, указав переменную JAVA_HOME на jdk 6. Первоначально он указывал на jdk 5.

Ответ 5

Я получил это сообщение об ошибке, и оно было исправлено, когда один из моих сотрудников отправил мне по электронной почте два файла id_rsa и id_rsa (MS Pub doc), я поместил их в C: Users\[userID] \. ssh и закрыл и перезапустили мою среду IDE.

Ответ 6

У меня была эта проблема с EGit и наконец ее решила. Почему-то иногда вещи перепутались. Если вы не можете решить проблему через Eclipse, просто перейдите в папку "git" с помощью git bash с Windows. С Linux это еще проще: просто откройте терминал.

Эта проблема возникает из-за перебора имени пользователя, пароля и ssh. Таким образом, используйте команды "git удаленное отображение источника" и убедитесь, что источник [email protected] Иногда Eclipse просто помещает "git" в качестве имени пользователя, поэтому убедитесь, что у вас есть правильное имя пользователя, изменив его с помощью команды git remote set-url origin https://[email protected]/restofthe url. Он должен автоматически изменять конфигурации в eclipse.

Лучший...

Ответ 7

У меня также была эта проблема.

В таких сценариях используется следующая команда в Git Bash: Git удаленный исходный черновик

Это настроило Pull/Push в поврежденной ветке.