У меня была такая же проблема, и я считаю, что это связано с размером репо (отредактированным или размером конкретного файла), который вы пытаетесь отправить.
В основном я мог создавать новые репозитории и помещать их в github. Но существующий не годится.
Код ошибки HTTP, кажется, поддерживает меня, это ошибка «Требуется длина». Так что, возможно, оно слишком велико для расчета или определения макс. Кто знает.
РЕДАКТИРОВАТЬ
Я обнаружил, что проблема может быть в файлах большого размера. У меня было одно обновление, которое не запускалось, хотя до этого момента у меня были успешные пуши. В коммите был только один файл, но его размер оказался 1,6 МБ.
Итак, я добавил следующее изменение конфигурации
git config http.postBuffer 524288000
Чтобы разрешить до размера файла 500M, а затем мой толчок сработал. Возможно, изначально это была проблема с отправкой большого репо по протоколу http.
КОНЕЦ РЕДАКТИРОВАНИЯ
способ, которым я мог заставить его работать (РЕДАКТИРОВАТЬ до того, как я изменил postBuffer), заключался в том, чтобы настроить мое репо, скопировать его на машину, которая может выполнять git через ssh, и отправить его на github. Затем, когда вы пытаетесь выполнить push / pull с исходного сервера, он должен работать через https. (поскольку это гораздо меньший объем данных, чем исходный push).
Надеюсь это поможет.