2011-10-09 19 views
11

Próbuję wcisnąć mój kod na github, ale prawie za każdym razem spotykam ten błądRPC nie powiodło się; wynik = 28, kod HTTP = 0

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

To takie irytujące. Ktoś wie, jak to naprawić?

Aktualizacja Po google, czytałem że działa git config --global http.postBuffer 524288000 może rozwiązać ten problem. Ale nawet po uruchomieniu tego polecenia nadal napotykałem problem.

Odpowiedz

27

Zastosowanie git: // lub git + ssh: //, a nie https

+0

Nice. To działa. Użyłem https, ponieważ z pewnych powodów ssh nie mógł pracować z moim biurowym proxy. Błąd powyżej zdarzył się tylko wtedy, gdy pracowałem w moim domu. Ponieważ zdalny adres URL można łatwo przełączyć z git na https na odwrót, to rozwiązanie jest świetne. Dzięki. –

+3

Czy są jakieś wyjaśnienia, dlaczego błąd wystąpił z adresem URL https? –

+0

Przepraszam, nic nie znaleziono u chłopców github, ale kłopoty prześladowały długi czas w przeszłość z pojedynczym przepisem, żeby naprawić –

0

Poznałem ten sam problem (pracuje za serwerem proxy i nie jest w stanie uzyskać dostęp do git: //)

może to zależy na temat sytuacji w sieci?

"Pchaj" więcej razy i to działa dla mnie. (przypierane sumie 5 razy, 2 udane)

btw, używam „https_proxy zmienną środowiskową”, a nie „http_proxy”

0

Ten kod błędu jest błąd czasu oczekiwania na klienta. Chociaż podejrzewam, że po stronie serwera jest zamykanie, jak sugeruje komunikat. Aby spróbować i uzyskać więcej informacji można spróbować ustawić zmienną środowiskową GIT_CURL_VERBOSE=1 do pchania np

GIT_CURL_VERBOSE=1 git push origin

Można daje wskazanie, czy jest to czas klient się lub serwer odłączeniem że jest oryginalny błąd. Jest wiele rzeczy, które możesz zrobić, aby upewnić się, że nie zawsze napotykasz ten błąd.

  1. Sprawdź limity czasu po stronie serwera, jeśli możesz to kontrolować. Mogą być za małe. To zależy od implementacji serwera.
  2. Sprawdź swoje repozytorium pod kątem dużych plików, szczególnie plików binarnych. Mogą one być obsługiwane inaczej.
  3. Upewnij się, że nie ustawiłeś przypadkowo http.lowSpeedLimit, http.lowSpeedTime: powinny one być domyślnie wyłączone (patrząc na kod).

dużego repozytorium

Do pkt 2. Istnieje wiele rzeczy, które możesz zrobić, jeśli podejrzewasz, że paczka jesteś pchanie jest duże obiekty. Ten blog post jest dość szczegółowy na temat:

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

Nie sądzę http.postBuffer jest naprawdę rozwiązanie tutaj.

0

Zasadniczo te warunki błędu i kody wynikają z błędnej konfiguracji sieci lub zawodnej łączności internetowej. Zwykle po kilku próbach wszystko powinno wrócić do normy. Wypróbuj różne protokoły połączeń, jeśli problem będzie występował po kilku próbach.

0

Nie trzeba używać SSH tutaj, jak wspomniano w zaakceptowanej odpowiedzi. Ostatnio utknąłem z tym samym problemem.Podnieść domyślna Http 1 MIB rozmiar bufora na dużą wartość:

git config --global http.postBuffer 1048576000 

następnie spróbuj git push remote branch_name.

Mam nadzieję, że to pomoże komuś.

Powiązane problemy