Zdarza się to częściej niż nie, mam wolne połączenie internetowe i muszę sklonować przyzwoicie duże repozytorium git. Najczęstszym problemem jest to, że połączenie zostaje zamknięte, a cały klon zostaje anulowany.
Cloning into 'large-repository'...
remote: Counting objects: 20248, done.
remote: Compressing objects: 100% (10204/10204), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Po wielu próbach i błędach oraz wielu „zdalnych końcach niespodziewanie się rozłączyło” mam sposób, który działa dla mnie. Chodzi o to, aby najpierw wykonać płytki klon, a następnie zaktualizować repozytorium o jego historię.
$ git clone http://github.com/large-repository --depth 1
$ cd large-repository
$ git fetch --unshallow
--depth 1
i--unshallow
. Działa to również w przypadku pobierania istniejącego repozytorium przy wolnym połączeniu:git fetch --depth 1
wtedygit fetch --unshallow
.git fetch --unshallow
Polecenie radzi sobie z utratą połączenia w bardziej wybaczający sposób niżgit clone
? I to właśnie tutaj robi różnicę?git fetch --unshallow
polecenie dajeRPC failed;
błądgit fetch --unshallow
. Chyba moje repozytorium jest zbyt duże, nawet dla tego podejścia. Działa tylko SSH.Po kilku dniach właśnie dziś rozwiązałem ten problem. Wygeneruj klucz ssh, postępuj zgodnie z tym artykułem:
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
Zadeklaruj to
Następnie klonuj za pomocą polecenia:
I żaden błąd się nie dzieje.
Powyższy problem
ponieważ mają błąd podczas klonowania przez protokół HTTP (
curl
polecenie).I powinieneś zwiększyć rozmiar bufora:
źródło
http.postBuffer
nie działała.http.postBuffer
zadziałała dla mnie - dzięki!Kiedy próbowałem klonować z pilota, wielokrotnie występował ten sam problem:
W końcu to zadziałało dla mnie:
źródło
musisz wyłączyć kompresję:
wtedy musisz użyć płytkiego klonu
wtedy najważniejszym krokiem jest włożenie płyty CD do sklonowanego projektu
teraz otwórz klon, krok po kroku
na przykład.
następnie,
następnie,
możesz wybrać, ile kroków chcesz, zastępując to N,
i na koniec pobierz wszystkie pozostałe wersje za pomocą,
zagłosuj za, jeśli ci to pomoże :)
źródło
Proste rozwiązanie: Zamiast klonować przez https, sklonuj go przez ssh.
Na przykład:
źródło
Problemy z połączeniem sieciowym.
Może z powodu trwałego limitu czasu połączenia.
Najlepszym sposobem jest przejście do innej sieci.
źródło
Te kroki zadziałały dla mnie: używanie
git://
zamiasthttps://
źródło
Jak wspomniano powyżej, najpierw uruchom polecenie git z basha dodając na początku rozszerzone dyrektywy dziennika:
GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...
np.
GIT_CURL_VERBOSE=1 GIT_TRACE=1 git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
Spowoduje to wyświetlenie szczegółowych informacji o błędzie.źródło
U mnie ten problem wystąpił, ponieważ konfiguracja proxy. Dodałem serwer ip git w wyjątku proxy. Serwer git był lokalny, ale zmienna środowiskowa no_proxy nie została poprawnie ustawiona.
Użyłem tego polecenia, aby zidentyfikować problem:
W zamian pojawiła się "Proxy-Authorization", ponieważ serwer git nie powinien przechodzić przez proxy. Ale prawdziwym problemem był rozmiar plików zdefiniowany przez reguły proxy
źródło
Dla mnie problem polegał na tym, że połączenie zostaje zamknięte przed ukończeniem całego klonu. Użyłem sieci Ethernet zamiast połączenia Wi-Fi. Wtedy to rozwiązuje za mnie
źródło
Wypróbowałem wszystkie odpowiedzi tutaj. Próbowałem dodać cocoapody do mojej maszyny.
Nie miałem klucza SSH, więc dziękuję @Do Nhu Vy
https://stackoverflow.com/a/38703069/2481602
I wreszcie używany
aby ostatecznie rozwiązać problem, znaleziono https://stackoverflow.com/a/50959034/2481602
źródło
Ten błąd wydaje się występować częściej w przypadku wolnego lub problematycznego połączenia internetowego. Połączyłem się z dobrą prędkością internetu, a następnie działa idealnie.
źródło
Ten problem pojawia się, gdy występuje problem z serwerem proxy lub wolna sieć. Możesz wybrać rozwiązanie głębokości lub
Jeśli to da błąd curl 56 Błąd Recv, pobierz plik za pomocą zip lub podaj nazwę oddziału zamiast --all
źródło
Zmiana protokołu klonowania git, aby spróbować.
na przykład ten błąd wystąpił, gdy „git clone https: // xxxxxxxxxxxxxxx ”
możesz spróbować z "git clone git: // xxxxxxxxxxxxxx", wtedy może ok.
źródło
Te kroki działają dla mnie:
Mam nadzieję, że to też działa dla Ciebie.
źródło
Spróbuj tego
https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup
to jest praca dla mnie .. capture.png
źródło