głupi problem z Githubem trwającym teraz. Mam przyzwoitą ilość zmian (~ 120MB), kiedy próbuję pchać, dzieje się tak:
error: RPC failed; result=22, HTTP code = 413
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Już to zrobiłem
git config http.postBuffer 524288000
, więc to nie wydaje się być problemem. Co to mogło być?
HTTP code = 0
, GitHub nie działa, jak wczoraj.HTTP code = 0
gdy mój serwer proxy się blokował. Mój serwer proxy http działa z github, ale https nie działa w przypadku mojego korporacyjnego serwera proxy. Myślę, że moje proxy HTTPS wymusza NTLM, podczas gdy HTTP akceptuje BASIC. Zmieniłem adres URL pochodzenia repozytorium z https na http i zadziałało.git remote set-url origin http://github.com/GitUserName/GitRepoName.git
Odpowiedzi:
Jeśli pojawi się błąd 413, problem nie dotyczy git, ale serwera WWW . To Twój serwer sieciowy blokuje duże pliki do przesłania.
Rozwiązanie dla nginx
Wystarczy załadować
nginx.conf
i dodaćclient_max_body_size 50m;
(zmieniając wartość do swoich potrzeb) w bloku http.Załaduj ponownie nginx, aby zaakceptować nową konfigurację, wykonując
sudo service nginx reload
i spróbuj ponownie przesłać zatwierdzenie przez http.Rozwiązanie dla Apache
W swoim
httpd.conf
dodaniuLimitRequestBody 52428800
(zmieniając wartość do swoich potrzeb) wewnątrz<Directory />
bloku. Robiąc to, możesz ograniczyć żądanie całego systemu plików serwera, tylko do pojedynczego hosta wirtualnego lub katalogu.Mam nadzieję, że to pomoże.
źródło
Rozgryzłem to!!! Oczywiście zrobiłbym to zaraz po tym, jak wrzuciłem post!
Ustawiłem repozytorium na używanie adresu URL HTTPS, zmieniłem go na adres SSH i wszystko zaczęło działać bez zarzutu.
źródło
polecenie zmiany zdalnego adresu URL (z https -> git @ ...) wygląda mniej więcej tak
origin tutaj to nazwa mojego pilota (zrób git remote i to, co wychodzi, jest twoim pochodzeniem).
źródło
ssh://
z niego,ssh://git@<bitbucket-repo>:<port>/dir/to/project.git
więc bądźcie ostrożni, ludzie!Miałem ten sam problem, ale korzystałem z odwrotnego proxy.
Więc musiałem ustawić
wewnątrz obu plików konfiguracyjnych:
źródło
Miałem już „HTTPS //” w adresie URL git, ale napotkałem ten błąd.
Wszystko, co zrobiłem, to dodać opcję -u z push i zadziałało.
git push -u origin master
źródło
Dla tych, którzy używają usług IIS 7 do hostowania git
http
/https
punktu końcowego:Musisz zwiększyć swój
uploadReadAheadSize
.Uruchom Menedżera internetowych usług informacyjnych (IIS)
Rozwiń pole Serwer
Rozwiń Witryny
Wybierz witrynę, dla której chcesz dokonać modyfikacji.
W sekcji Funkcje kliknij dwukrotnie
Configuration Editor
Poniżej
Section
wybierz:system.webServer > serverRuntime
Zmodyfikuj
uploadReadAheadSize
sekcję (wartość musi zawierać się w przedziale od0
do2147483647
).Kliknij Apply
Uruchom ponownie witrynę
źródło
Jeśli napotykasz ten problem podczas wypychania zmian w dużym rozmiarze, uruchom poniższe polecenie w terminalu.
Zobacz to, aby uzyskać więcej informacji.
źródło
Błąd występuje w „libcurl”, który jest podstawowym protokołem przesyłania za pomocą protokołu HTTPS. Rozwiązaniem jest jakoś zaktualizować libcurl. Aby uzyskać więcej informacji o błędzie, ustaw GIT_CURL_VERBOSE = 1
https://confluence.atlassian.com/pages/viewpage.action?pageId=306348908
Znaczenie błędu, zgodnie z dokumentem libcurl: CURLE_HTTP_RETURNED_ERROR (22)
Wartość ta jest zwracana, jeśli CURLOPT_FAILONERROR ma wartość TRUE, a serwer HTTP zwraca kod błędu> = 400.
http://curl.haxx.se/libcurl/c/libcurl-errors.html
źródło
Mam ten problem, gdy próbuję sklonować repozytorium git na komputerze z systemem Linux.
następujący adres URL działa dla mnie w systemie Windows
podczas gdy poniższy adres URL działa na komputerze z systemem Linux i ma https w adresie URL
źródło
Miałem ten błąd ( błąd: RPC nie powiodło się; wynik = 22, kod HTTP = 413 ), kiedy próbowałem przekazać moje początkowe zatwierdzenie do nowego repozytorium BitBucket. Wystąpił błąd, ponieważ repozytorium BitBucket nie miało gałęzi głównej . Jeśli używasz SourceTree , możesz utworzyć gałąź główną w źródle, naciskając przycisk Git Flow .
źródło
Czy używasz linków https zamiast linków ssh? Ponieważ łącze https jest ograniczone rozmiarem wysyłanego serwera HttpServer (na przykład Apache, Ngnix), nie ma takiego ograniczenia w przypadku korzystania z ssh.
Użyj poniższej metody, aby przełączyć się na łącze ssh.
Jeśli określisz nazwę repozytorium zdalnego, przejdź bezpośrednio do kroku 4. Teraz możesz szczęśliwie wykonać operację wypychania.
źródło
Miałem ten sam problem (na Win XP), zaktualizowałem plik libcurl-4.dll w moim katalogu bin Git do wersji SSL z http://www.paehl.com/open_source/?download=curl_DLL_ONLY.7z (zmiana nazwy do libcurl4.dll). Teraz wszystko działa dobrze.
źródło
Klon gists https nie działa (ssh działa, patrz poniżej):
To działa:
git clone [email protected]:123456.git
źródło
Miałem ten sam problem. W moim przypadku były to niekompatybilne wersje GIT dla wielu użytkowników, którzy uzyskują dostęp do tego samego projektu (pull / push).
właśnie zaktualizowałem wersję GIT i zaktualizowałem ścieżkę w ustawieniach studia Android i dla mnie działa dobrze.
Edytować -
Git dla Windows (1.9.5) ma jakiś problem, aktualizacja tego samego może pomóc.
źródło
Napotkano ten sam problem, ale został on rozwiązany przez wyczyszczenie repozytorium git (wyczyść niezatwierdzone pliki za pomocą „git clean”).
źródło
git clean -i
na przykład uruchomić w trybie interaktywnym.Musisz zmienić zdalny adres URL na ssh lub https
lub
Mam nadzieję, że to pomoże :)
źródło
kiedy użyłem adresu URL https do wysłania do zdalnego mastera, napotkałem ten sam problem, zmieniłem go na adres SSH i wszystko zaczęło działać bez zarzutu.
źródło