2016-07-27 8 views
34

Ich versuche, ein Repository von Gitlab (Gitlab 6.6.2 4ef8369) und Fehlern zu klonen:Fehler: RPC ist fehlgeschlagen; curl Übertragung geschlossen mit hervorragenden Lesedaten verbleibenden

enter image description here

remote: Counting objects: 66352, done. 
remote: Compressing objects: 100% (10417/10417), 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 

Wie um diesen Fehler zu vermeiden?

Antwort

22

Nach ein paar Tagen, heute habe ich gerade dieses Problem gelöst. Generieren Sie SSH-Schlüssel, folgen Sie diesen Artikel:

https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

Deklarieren es

  1. Git-Provider (Gitlab was ich verwende, GitHub).
  2. Fügen Sie dies der lokalen Identität hinzu.

Dann mit dem Befehl klonen:

git clone [email protected]:my_group/my_repository.git 

Und kein Fehler passieren.

Das obige Problem

error: RPC failed; curl 18 transfer closed with outstanding read data remaining

weil Fehler haben, wenn Klon durch HTTP-Protokoll (curl Befehl).

Und Sie Puffergröße erhöhen sollte:

git config --global http.postBuffer 524288000 
+0

Wechsel von HTTP zu SSH Arbeit für mich. Config 'http.postBuffer' hat nicht funktioniert. – thangdc94

+0

Wenn der Fehler immer noch vorhanden ist, sollten Sie Ihre ssh-Konfigurationsdatei vi /users/username/.ssh/config bearbeiten und serverAliveInterval 120 hinzufügen und vi mit wq beenden (um zu speichern und zu beenden). Dadurch wird verhindert, dass der Server Timeout- und Verbindungsunterbrechungsfehler erhält. –

1

Bei mir dieses Problem trat auf, weil die Proxy-Konfiguration. Ich habe den IP-Git-Server in der Proxy-Ausnahme hinzugefügt. Der Git-Server war lokal, aber die Umgebungsvariable no_proxy wurde nicht korrekt festgelegt.

benutzen ich diesen Befehl, um das Problem zu identifizieren:

#Linux: 
export GIT_TRACE_PACKET=1 
export GIT_TRACE=1 
export GIT_CURL_VERBOSE=1 

#Windows 
set GIT_TRACE_PACKET=1 
set GIT_TRACE=1 
set GIT_CURL_VERBOSE=1 

Im Gegenzug gibt es die „Proxy-Authorization“ war als der git-Server vor Ort nicht über den Proxy gehen war soll. Aber das eigentliche Problem war die Größe der Dateien, die von den Proxy-Regeln definiert

2

Wie oben erwähnt, vor allem Ihre git Befehl bash ausführen, um die erweiterten Protokoll Direktiven am Anfang hinzu: GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...

z.B. GIT_CURL_VERBOSE=1 GIT_TRACE=1 git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin Dies zeigt Ihnen detaillierte Fehlerinformationen.

30

Es passiert öfter als nicht, ich bin auf einer langsamen Internetverbindung und ich muss ein anständig-riesige Git Repository klonen. Das häufigste Problem ist, dass die Verbindung geschlossen wird und der gesamte Klon abgebrochen wird.

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 

Nach viel Versuch und Irrtum und viel „entfernten Ende aufgehängt unerwartet:“ Ich eine Möglichkeit haben, die für mich funktioniert. Die Idee besteht darin, zuerst einen oberflächlichen Klon zu erstellen und dann das Repository mit seinem Verlauf zu aktualisieren.

$ git clone http://github.com/large-repository --depth 1 
$ cd large-repository 
$ git fetch --unshallow 
+0

Das ist die einzige Antwort, die eine Problemumgehung für das Problem beschreibt, ohne zu SSH zu wechseln. Das hat bei mir funktioniert, danke! – garie

+0

thx Kumpel, diese Antwort hat auch für mich funktioniert. Ändern Sie einfach mein Netzwerk mit schneller Internetverbindung – wanz

+0

Der Schlüssel hier ist '--depth 1' und' --unhallow'. Dies funktioniert auch, um einen bestehenden Repo auf einer langsamen Verbindung zu holen: 'git fetch --depth 1', dann' git fetch --unhaltig'. –

3

Wenn ich von der Remote-Klonen versucht, bekam die gleiche Frage immer wieder:

remote: Counting objects: 182, done. 
remote: Compressing objects: 100% (149/149), 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 

Schließlich dies für mich gearbeitet:

git clone https://[email protected]/repositoryName.git --depth 1 
+0

Diese Lösung ist Arbeit für mich .. Danke –

0

Bitte gehen Sie folgendermaßen vor:

pod repo update 
pod install 

Ich hoffe, dass für Sie arbeitet. Alles Gute

0

Änderung git Klonprotokoll zu versuchen.

zum Beispiel passiert dieser Fehler, wenn "git clone https://xxxxxxxxxxxxxxx"

Sie können mit versuchen "git clone git: // xxxxxxxxxxxxxx", vielleicht ok dann.

Verwandte Themen