Git не работает при нажатии на фиксацию github

Я клонировал репо git, которое я разместил на github для своего ноутбука. Я смог успешно выполнить пару коммитов в github без проблем. Однако теперь я получаю следующую ошибку:

Compressing objects: 100% (792/792), done.
error: RPC failed; result=22, HTTP code = 411
Writing objects: 100% (1148/1148), 18.79 MiB | 13.81 MiB/s, done.
Total 1148 (delta 356), reused 944 (delta 214)

Отсюда он просто зависает, и я, наконец, должен CTRL + C вернуться к терминалу.

Ответ 1

У меня была такая же проблема, и я полагаю, что она связана с размером репо (отредактированным или размером определенного файла), который вы пытаетесь нажать.

В принципе, мне удалось создать новые репозитории и направить их на github. Но существующий не будет работать.

Код ошибки HTTP, похоже, поддерживает меня, это ошибка "Требуется длина". Так что, возможно, он слишком велик, чтобы подсчитать или смазать, что макс. Кто знает.

ИЗМЕНИТЬ

Я обнаружил, что проблема может быть файлы большие. У меня было одно обновление что бы не успешный подталкивает к этому моменту. В фиксации был только один файл но это оказалось 1.6M

Итак, я добавил следующее изменение конфигурации

git config http.postBuffer 524288000

Чтобы разрешить размер файла 500M и то мой толчок работал. Возможно, это было что это была проблема изначально с нажатием большого репо на http Протокол.

END EDIT

способ, которым я мог заставить его работать (EDIT до того, как я изменил postBuffer), должен был выполнить мой репо, скопировать его на машину, которая может сделать git поверх ssh, и нажать ее в github. Затем, когда вы пытаетесь сделать push/pull с исходного сервера, он должен работать над https. (так как это намного меньший объем данных, чем оригинальный push).

Надеюсь, что это поможет.

Ответ 2

Похож на проблему с сервером (т.е. проблема с GitHub).
Если вы посмотрите этот поток, это может произойти, когда git-http-backend получает поврежденную кучу. (А так как они просто установить интеллектуальная поддержка http...)
Но какова бы ни была фактическая причина, она также может быть связана с недавним спорадическим сбоем в одном из файловых серверов GitHub.

Вы все еще видите это сообщение об ошибке? Потому что, если вы это сделаете:

  • проверьте локальную версию Git (и обновите ее до последней версии)
  • сообщите об этом как ошибка GitHub.

Примечание: "Поддержка смарт-HTTP" - это большое дело для тех из нас, кто за прокси-сервером брандмауэра на основе аутентификации!

Теперь, если вы клонируете репозиторий по URL-адресу http:// и используете клиентскую версию Git версии 1.6.6 или выше, Git будет автоматически использовать новый, лучший механизм транспорта.
Еще более удивительным является то, что теперь вы можете использовать этот протокол и клонировать частные репозитории. Если вы обращаетесь к частному репозиторию, или вы являетесь сотрудником и хотите получить push-доступ, вы можете поместить свое имя пользователя в URL-адрес, а Git предложит вам пароль при попытке получить к нему доступ.

Старые клиенты также вернутся к более старому, менее эффективному пути, поэтому ничто не должно ломаться - только новые клиенты должны работать лучше.

Итак, сначала обновите клиент Git.

Ответ 3

Нажатие Git GUI вместо Bash работает для меня.

Ответ 4

Проблема с нажатием в основном связана с размером файлов, которые нужно нажать. Я пытался подтолкнуть несколько библиотек размером всего лишь 2 мб, а затем нажатие дало ошибку RPC с результатом 7. Линия имеет 4 Мбит/с и работает нормально. Некоторые последующие попытки толчка вызвали у меня успех. Если такая ошибка возникает, подождите несколько минут и продолжайте попытки.

Я также узнал, что есть некоторые ошибки RPC, если github не работает или становится нестабильной сетью на их стороне.

Таким образом, повторение попыток через несколько интервалов - единственный вариант!

Ответ 5

в этих случаях вы можете попробовать ssh, если https застрял.

Также вы можете попробовать увеличить размер буфера до астрономической фигуры, чтобы больше не беспокоиться о размере буфера git config http.postBuffer 100000000