Schnelle Lösung:
Bei dieser Art von Fehlern beginne ich in der Regel mit der Erhöhung des postBuffer
Größe nach:
git config --global http.postBuffer 524288000
(in einigen Kommentaren wird berichtet, dass der Wert verdoppelt werden muss):
git config --global http.postBuffer 1048576000
(Für npm publish
, Martin Braun Berichte in den Kommentaren Einstellung auf höchstens 50 000 000 statt der Standardeinstellung 1 000 000)
Weitere Informationen:
Von der git config
Manpage , http.postBuffer
ist:
Maximale Größe des Puffers in Bytes, der von intelligenten HTTP-Transporten beim POSTing von Daten an das entfernte System verwendet wird.
Bei Anfragen, die größer als diese Puffergröße sind, werden HTTP/1.1 und Transfer-Encoding: chunked
wird verwendet, um zu vermeiden, dass lokal eine große Pack-Datei erstellt wird. Die Voreinstellung ist 1 MiB, was für die meisten Anfragen ausreichend ist.
Selbst bei einem Klon kann das Auswirkungen haben, und in diesem Fall ist die OP-Joe Berichte:
[klonen] funktioniert jetzt einwandfrei
Hinweis: Wenn auf der Serverseite etwas schiefgelaufen ist und der Server Git 2.5+ (Q2 2015) verwendet, kann die Fehlermeldung deutlicher ausfallen.
Siehe " Git-Klonen: entfernte Seite hängt sich unerwartet auf, versuchte zu ändern postBuffer
aber immer noch erfolglos ".
Kulai ( in den Kommentaren ) weist auf die diese Atlassian Troubleshooting Git Seite , die hinzufügt:
Error code 56
zeigt an, dass ein Curl den Fehler von CURLE_RECV_ERROR
was bedeutet, dass ein Problem aufgetreten ist, das den Empfang der Daten während des Klonvorgangs verhindert hat.
In der Regel wird dies durch eine Netzwerkeinstellung, eine Firewall, einen VPN-Client oder einen Virenschutz verursacht, der die Verbindung beendet, bevor alle Daten übertragen wurden.
Außerdem wird die folgende Umgebungsvariable erwähnt, die bei der Fehlersuche helfen soll.
# 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
Mit Git 2.25.1 (Feb. 2020) wissen Sie mehr darüber http.postBuffer
"Lösung".
Siehe 7a2dc95 festlegen , Commit 1b13e90 (22 Jan 2020) von brian m. carlson ( bk2204
) .
(Zusammengefasst von Junio C. Hamano -- gitster
-- in 53a8329 festlegen , 30. Januar 2020)
( Diskussion auf der Git-Mailingliste )
docs
Erwähnung, wann eine Erhöhung des http.postBuffer sinnvoll ist
Abgezeichnet von: brian m. carlson
In einer Vielzahl von Situationen haben Benutzer Probleme mit HTTP-Push.
Oft sind diese Probleme auf Antiviren-Software, Filter-Proxys oder andere Man-in-the-Middle-Situationen zurückzuführen, manchmal aber auch auf die einfache Unzuverlässigkeit des Netzwerks.
Eine häufige Lösung für HTTP-Push-Probleme, die man im Internet findet, besteht jedoch darin, http.postBuffer zu erhöhen.
Dies funktioniert in keiner der oben genannten Situationen und ist nur in einer kleinen, stark eingeschränkten Anzahl von Fällen nützlich: im Wesentlichen, wenn die Verbindung HTTP/1.1 nicht richtig unterstützt.
Dokumentieren Sie, wann die Erhöhung dieses Wertes angebracht ist und was sie tatsächlich bewirkt, und raten Sie davon ab, sie als allgemeine Lösung für Push-Probleme zu verwenden, da sie dort nicht wirksam ist.
Daher ist die Dokumentation für git config http.postBuffer
umfasst jetzt:
http.postBuffer
Maximale Größe des Puffers in Bytes, der von intelligenten HTTP-Transporten beim POSTing von Daten an das entfernte System verwendet wird.
Für Anfragen, die diese Puffergröße überschreiten, wird HTTP/1.1 und Transfer-Encoding: chunked verwendet, um zu vermeiden, dass lokal eine große Paketdatei erstellt wird.
Der Standardwert ist 1 MiB, was für die meisten Anfragen ausreicht.
Beachten Sie, dass die Anhebung dieses Limits nur für die Deaktivierung der Chunked-Transfer-Kodierung wirksam ist und daher nur verwendet werden sollte, wenn der entfernte Server oder ein Proxy nur HTTP/1.0 unterstützt oder nicht mit dem HTTP-Standard übereinstimmt.
Die Erhöhung dieses Wertes ist im Allgemeinen keine effektive Lösung für die meisten Push-Probleme, sondern kann den Speicherverbrauch erheblich erhöhen, da der gesamte Puffer auch bei kleinen Pushs zugewiesen wird. .