Sklonowałem repozytorium git, które hostowałem na githubie na moim laptopie. Udało mi się bez problemu przesłać kilka zatwierdzeń na github. Jednak teraz pojawia się następujący błąd:
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)
Stąd po prostu się zawiesza i w końcu muszę CTRL+ Cwrócić do terminala.
origin
sekcji.git/config
nie zawiera nazwy http, prawda?Odpowiedzi:
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Ć
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).
źródło
http.postBuffer
jest bardziej niepotrzebna niż szkodliwa, ale ma negatywny efekt uboczny: zwiększenie jej powyżej wartości domyślnej może zwiększyć opóźnienie w przypadku większych wypychań (ponieważ klient będzie buforować żądanie HTTP na większe fragmenty).Jeśli to polecenie nie pomoże
Spróbuj zmienić metodę ssh na https
źródło
Wygląda na problem z serwerem (np. „GitHub”).
Jeśli spojrzeć na tego wątku , może się zdarzyć, gdy
git-http-backend
dostaje uszkodzony sterty. (A ponieważ wystarczy umieścić w miejscu do inteligentnego wsparcia http ...)Ale bez względu na rzeczywistą przyczyną jest, to może być również związane z niedawnym sporadycznych zakłóceń w jeden z serwerów plików GitHub .
Czy nadal widzisz ten komunikat o błędzie? Bo jeśli to zrobisz:
Uwaga: obsługa Smart HTTP to wielka sprawa dla tych z nas, którzy korzystają z uwierzytelnionego serwera proxy dla firmowej zapory!
Dlatego też pamiętaj, aby najpierw zaktualizować klienta Git.
źródło
Próbowałem wypchnąć na mój własny hostowany serwer bonobo-git i nie zdawałem sobie sprawy, że http.postbuffer oznacza katalog projektu ...
więc tylko dla innych zdezorientowanych:
czemu? W moim przypadku miałem duże pliki zip z zasobami i kilka plików PSD - chyba za duże jak na bufor.
Jak to zrobić http.postbuffer: wykonaj to polecenie w katalogu src projektu, obok folderu .git, a nie na serwerze.
należy pamiętać, że duże pliki tymczasowe (porcje) zostaną utworzone z tego rozmiaru bufora.
Uwaga: po prostu sprawdź największe pliki, a następnie ustaw bufor.
źródło
U mnie działa push z Git GUI zamiast Bash.
źródło
Problem z wypychaniem wynika głównie z rozmiaru plików, które należy przekazać. Próbowałem wypchnąć kilka bibliotek o rozmiarze tylko 2 MB, ale także push dawał błąd RPC z wynikiem 7. Linia ma 4 Mb / si działa dobrze. Kilka kolejnych prób przyniosło mi sukces. Jeśli pojawi się taki błąd, odczekaj kilka minut i kontynuuj.
Dowiedziałem się również, że są pewne awarie RPC, jeśli github nie działa lub ma niestabilną sieć po ich stronie.
Więc kontynuowanie prób po pewnych odstępach czasu jest jedyną opcją!
źródło
w takich przypadkach możesz spróbować ssh, jeśli utknie https.
Możesz także spróbować zwiększyć rozmiar bufora do wartości astronomicznej, aby nie martwić się o rozmiar bufora. Git config http.postBuffer 100000000
źródło