web-dev-qa-db-de.com

fehler: RPC fehlgeschlagen; Curl-Transfer mit ausstehenden Lesedaten geschlossen

Ich versuche ein Repository aus GitLab zu klonen (GitLab 6.6.2 4ef8369)

 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 vermeide ich diesen Fehler? 

64
foobarfuu

Nach wenigen Tagen habe ich heute dieses Problem gelöst. Ssh key generieren, folge diesem Artikel:

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

Erkläre es zu 

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

Dann klonen Sie per Befehl:

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

Und kein Fehler passiert.

Das obige Problem

fehler: RPC fehlgeschlagen; curl 18 transfer geschlossen mit ausstehenden lesedaten verbleibend

weil haben Fehler beim Klonen nach HTTP-Protokoll (curl Befehl).

Und Sie sollten die Puffergröße erhöhen:

git config --global http.postBuffer 524288000
32
foobarfuu

Es passiert meistens nicht, ich bin auf einer langsamen Internetverbindung und ich muss ein ordentlich großes 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 vielem Ausprobieren und vielen "Remote end unerwartet" habe ich einen Weg gefunden, der für mich funktioniert. Die Idee ist, zuerst einen flachen Klon zu erstellen und dann das Repository mit seiner Historie zu aktualisieren.

$ git clone http://github.com/large-repository --depth 1
$ cd large-repository
$ git fetch --unshallow
93
Khader M A

Als ich versucht habe, von der Fernbedienung aus zu klonen, wurde das gleiche Problem wiederholt:  

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

Endlich funktionierte das für mich:

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

Wie oben erwähnt, führen Sie zuerst Ihren git-Befehl von bash aus und fügen Sie am Anfang die erweiterten Protokollanweisungen 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 Hier werden detaillierte Fehlerinformationen angezeigt.

4
Sergey Gindin

Probleme mit der Netzwerkverbindung.
Möglicherweise aufgrund des dauerhaften Verbindungszeitlimits.
Am besten wechseln Sie zu einem anderen Netzwerk.

2
Yang

Einfache Lösung: Statt über https zu klonen, klonen Sie es über ssh.

Zum Beispiel:

git clone https://github.com/vaibhavjain2/xxx.git - Avoid
git clone [email protected]:vaibhavjain2/xxx.git - Correct
0
Vaibhav Jain

Bei mir ist dieses Problem wegen der Proxy-Konfiguration aufgetreten. Ich habe den IP-git-Server in der Proxy-Ausnahme hinzugefügt. Der git-Server war zwar lokal, aber die Umgebungsvariable no_proxy wurde nicht korrekt festgelegt.

Ich habe diesen Befehl verwendet, 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 gab es die "Proxy-Authorization", da der Git-Server vor Ort nicht durch den Proxy gehen sollte. Das eigentliche Problem war jedoch die Größe der durch die Proxy-Regeln definierten Dateien

0

Diese Schritte funktionieren für mich: Https: // stattdessen git: //

0
Jinwawa

Ändern des Git-Klon-Protokolls zum Ausprobieren. 

dieser Fehler trat beispielsweise auf, wenn "git clone https: // xxxxxxxxxxxxxxx "

du kannst es mit "git clone git: // xxxxxxxxxxxxxx" versuchen, vielleicht ok.

0
Bingnan

Versuchte alle Antworten hier. Ich habe versucht, Cocoapods auf meinem Computer hinzuzufügen.

Ich hatte keinen SSH-Schlüssel, also danke @Do Nhu Vy

https://stackoverflow.com/a/38703069/2481602

Und endlich benutzt

git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master

um das gefundene Problem endgültig zu beheben https://stackoverflow.com/a/50959034/2481602

0
MindBlower3