dummes Problem mit Github, das gerade läuft. Ich habe eine anständige Anzahl von Änderungen (~ 120 MB groß). Wenn ich versuche zu pushen, passiert Folgendes:
error: RPC failed; result=22, HTTP code = 413
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Ich bin bereits fertig
git config http.postBuffer 524288000
Das scheint also nicht das Problem zu sein. Was könnte es sein?
HTTP code = 0
GitHub wie gestern ausgefallen.HTTP code = 0
als mein Proxy blockierte. Mein http-Proxy funktioniert mit github, das https jedoch nicht für meinen Unternehmens-Proxy. Ich denke, mein HTTPS-Proxy erzwingt NTLM, während das HTTP BASIC akzeptiert. Ich habe die Repo-Ursprungs-URL von https in http geändert und es hat bei mir funktioniert.git remote set-url origin http://github.com/GitUserName/GitRepoName.git
Antworten:
Wenn Sie den Fehler 413 erhalten, liegt das Problem nicht bei git, sondern bei Ihrem Webserver . Es ist Ihr Webserver, der große Upload-Dateien blockiert.
Lösung für Nginx
Laden Sie einfach Ihren
nginx.conf
und fügenclient_max_body_size 50m;
Sie ihn im http-Block hinzu (indem Sie den Wert an Ihre Bedürfnisse anpassen).Laden Sie nginx neu, um die neue Konfiguration durch Ausführen zu akzeptieren,
sudo service nginx reload
und versuchen Sie erneut, Ihr Commit über http zu übertragen.Lösung für Apache
In Ihrem
httpd.conf
AddLimitRequestBody 52428800
(Ändern des Werts nach Ihren Wünschen) innerhalb eines<Directory />
Blocks. Auf diese Weise können Sie die Anforderung des gesamten Server-Dateisystems, nur eines einzelnen virtuellen Hosts oder eines Verzeichnisses, begrenzen.Ich hoffe das hilft.
quelle
Ich habe es herausgefunden!!! Natürlich würde ich gleich nach dem Post!
Ich hatte das Repo so eingestellt, dass es die HTTPS-URL verwendet, ich änderte es in die SSH-Adresse und alles funktionierte wieder einwandfrei.
quelle
Der Befehl zum Ändern der Remote-URL (von https -> git @ ...) lautet ungefähr so
Ursprung hier ist der Name meiner Fernbedienung (do git remote und was dabei herauskommt, ist dein Ursprung).
quelle
ssh://
vonssh://git@<bitbucket-repo>:<port>/dir/to/project.git
Also sei vorsichtig, Leute!Ich hatte das gleiche Problem, aber ich verwendete einen Reverse-Proxy.
Also musste ich einstellen
in beiden Konfigurationsdateien:
quelle
Ich hatte bereits "HTTPS //" in der Git-URL und war dennoch mit diesem Fehler konfrontiert.
Alles was ich getan habe war Option -u mit Push hinzuzufügen und es hat funktioniert.
git push -u origin master
quelle
Für diejenigen, die IIS 7 zum Hosten eines Git
http
/https
Endpunkts verwenden:Sie müssen Ihre erhöhen
uploadReadAheadSize
.Starten Sie den IIS-Manager (Internet Information Services)
Erweitern Sie das Feld Server
Erweitern Sie Sites
Wählen Sie die Site aus, für die Sie die Änderung vornehmen möchten.
Doppelklicken Sie im Abschnitt Funktionen
Configuration Editor
Unter
Section
Wählen Sie:system.webServer > serverRuntime
Ändern Sie den
uploadReadAheadSize
Abschnitt (Der Wert muss zwischen0
und liegen2147483647
.)Klicken Apply
Starten Sie die Website neu
quelle
Wenn Sie auf dieses Problem stoßen, während Sie Änderungen in großer Größe vornehmen, führen Sie den folgenden Befehl im Terminal aus.
Sehen Sie dies für weitere Details.
quelle
Der Fehler tritt in 'libcurl' auf, dem zugrunde liegenden Protokoll für den https-Upload. Die Lösung besteht darin, libcurl irgendwie zu aktualisieren. Um weitere Details zum Fehler zu erhalten, setzen Sie GIT_CURL_VERBOSE = 1
https://confluence.atlassian.com/pages/viewpage.action?pageId=306348908
Bedeutung des Fehlers gemäß libcurl doc: CURLE_HTTP_RETURNED_ERROR (22)
Dies wird zurückgegeben, wenn CURLOPT_FAILONERROR auf TRUE gesetzt ist und der HTTP-Server einen Fehlercode zurückgibt, der> = 400 ist.
http://curl.haxx.se/libcurl/c/libcurl-errors.html
quelle
Ich habe dieses Problem, wenn ich versuche, ein Git-Repo auf einem Linux-Computer zu klonen.
Die folgende URL funktioniert für mich in Windows
Die folgende URL funktioniert auf einem Linux-Computer und enthält https in der URL
quelle
Ich hatte diesen Fehler ( Fehler: RPC fehlgeschlagen; Ergebnis = 22, HTTP-Code = 413 ), als ich versuchte, mein anfängliches Commit in ein neues BitBucket-Repository zu verschieben. Der Fehler trat bei mir auf, weil das BitBucket-Repo keinen Hauptzweig hatte. Wenn Sie SourceTree verwenden , können Sie einen Master-Zweig am Ursprung erstellen , indem Sie auf die Schaltfläche Git Flow klicken .
quelle
Verwenden Sie https-Links anstelle von SSH-Links? Da der https-Link durch die Größe des Uploads von HttpServer (wie Apache, Ngnix) begrenzt ist, gibt es bei Verwendung von ssh keine solche Einschränkung.
Verwenden Sie die folgende Methode, um zum SSH-Link zu wechseln.
Wenn Sie den Namen des Remote-Repositorys ermitteln, fahren Sie direkt mit Schritt 4 fort. Jetzt können Sie den Push-Vorgang problemlos ausführen.
quelle
Ich hatte das gleiche Problem (unter Win XP), ich habe die libcurl-4.dll-Datei in meinem Git bin-Verzeichnis von http://www.paehl.com/open_source/?download=curl_DLL_ONLY.7z (Umbenennen) auf die SSL-Version aktualisiert zu libcurl4.dll). Jetzt funktioniert alles in Ordnung.
quelle
https-Klon von Gists schlägt fehl (ssh funktioniert, siehe unten):
Das funktioniert:
git clone [email protected]:123456.git
quelle
War vor dem gleichen Problem. In meinem Fall waren es nicht kompatible GIT-Versionen für mehrere Benutzer, die auf dasselbe Projekt zugreifen (Pull / Push).
Ich habe gerade die GIT-Version aktualisiert und den Pfad für die Android Studio-Einstellungen aktualisiert.
Bearbeiten -
Git für Windows (1.9.5) hat ein Problem, das Aktualisieren kann hilfreich sein.
quelle
Es gab das gleiche Problem, das jedoch durch Bereinigen des Git-Repositorys behoben wurde (Bereinigen Sie nicht verfolgte Dateien mit "git clean").
quelle
git clean -i
beispielsweise im interaktiven Modus zu starten.Die Remote-URL muss in ssh oder https geändert werden
oder
Hoffe das wird helfen :)
quelle
Als ich die https-URL zum Senden an den Remote-Master verwendete, traf ich auf dasselbe Problem, änderte es in die SSH-Adresse und alles funktionierte wieder einwandfrei.
quelle