Miałem ten sam problem i uważam, że ma on związek z rozmiarem repozytorium (edytowanym - lub rozmiarem konkretnego pliku), które próbujesz przesłać.
Zasadniczo udało mi się stworzyć nowe repozytoria i wypchnąć je na github. Ale istniejący nie zadziała.
Kod błędu HTTP wydaje mi się potwierdzać, że jest to błąd „Wymagana długość”. Więc może jest zbyt duży, aby obliczyć lub grecki, że maks. Kto wie.
EDYTOWAĆ
Odkryłem, że problemem mogą być duże pliki. Miałem jedną aktualizację, która nie nadawała się do przebicia, mimo że do tego momentu udało mi się przejść. W zatwierdzeniu był tylko jeden plik, ale był to 1,6 MB
Więc dodałem następującą zmianę konfiguracji
git config http.postBuffer 524288000
Aby umożliwić rozmiar pliku do 500M, a potem mój push zadziałał. Możliwe, że na początku był to problem z przepychaniem dużego repozytorium przez protokół http.
KONIEC EDYCJI
sposób, w jaki mogłem go uruchomić (EDYTUJ przed zmodyfikowaniem postBuffera) polegał na tarowaniu mojego repozytorium, skopiowaniu go na maszynę, która może wykonywać git przez ssh i wysłaniu go na github. Następnie, gdy spróbujesz wykonać push / pull z oryginalnego serwera, powinno to działać przez https. (ponieważ jest to znacznie mniejsza ilość danych niż oryginalne wypychanie).