Сбой RPC;результат = 28, код HTTP = 0 - PullRequest
13 голосов
/ 09 октября 2011

Я пытаюсь вставить свой код в github, но почти каждый раз сталкиваюсь с этой ошибкой

error: RPC failed; result=28, HTTP code = 0
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

Это так раздражает.Кто-нибудь знает, как это исправить?

Обновление После того, как я погуглил, я прочитал, что запуск git config --global http.postBuffer 524288000 может решить проблему.Но даже после того, как я выполнил эту команду, я все равно столкнулся с проблемой.

Ответы [ 5 ]

27 голосов
/ 09 октября 2011

Используйте git: // или git + ssh: //, а не https

1 голос
/ 19 апреля 2017

Нет необходимости использовать SSH здесь, как указано в принятом ответе.Недавно застрял с той же проблемой.Увеличьте размер буфера Http по умолчанию 1 МБ до большого значения:

git config --global http.postBuffer 1048576000

, затем попробуйте git push remote branch_name.

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 21 февраля 2017

Как правило, эти условия и коды ошибок вызваны неверной конфигурацией сети или ненадежным подключением к Интернету. Обычно после нескольких попыток все должно вернуться к нормальной жизни. Попробуйте другие протоколы подключения, если проблема не устраняется после нескольких попыток.

0 голосов
/ 01 сентября 2015

Этот код ошибки является ошибкой тайм-аута на клиенте.Хотя я подозреваю, что серверная часть закрывается, как следует из сообщения.Чтобы попытаться получить больше информации, вы можете попытаться установить переменную среды GIT_CURL_VERBOSE=1 для своего push-запроса, например:

GIT_CURL_VERBOSE=1 git push origin

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

  1. Проверьте тайм-ауты на стороне сервера, если вы можете контролировать это.Они могут быть слишком маленькими.Это зависит от реализации сервера.
  2. Проверьте хранилище на наличие больших файлов, особенно двоичных файлов.Они могут обрабатываться по-разному.
  3. Убедитесь, что вы не устанавливаете http.lowSpeedLimit, http.lowSpeedTime случайно: они должны быть отключены по умолчанию (при просмотре кода).

Большой репозиторий

Для пункта 2. Есть несколько вещей, которые вы можете сделать, если вы подозреваете, что пакет, который вы толкаете, это крупные объекты.Это сообщение в блоге довольно подробно на эту тему:

http://blogs.atlassian.com/2014/05/handle-big-repositories-git/

Я не думаю, что http.postBuffer действительно является решением здесь.

0 голосов
/ 28 декабря 2011

Я столкнулся с той же проблемой (работает за прокси и не может получить доступ к git: //)

может это зависит от ситуации в сети?

делай "толчок" больше раз, и это работает для меня. (Всего 5 нажатий, 2 успешных)

Кстати, я использую переменную среды "https_proxy", а не "http_proxy"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...