Als ich versuchte zu rennen
git push origin master --force
Ich habe gerade bekommen
Counting objects: 2649, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (1280/1280), done.
error: RPC failed; result=22, HTTP code = 413 | 116 KiB/s
fatal: The remote end hung up unexpectedly
Writing objects: 100% (2504/2504), 449.61 MiB | 4.19 MiB/s, done.
Total 2504 (delta 1309), reused 2242 (delta 1216)
fatal: The remote end hung up unexpectedly
Everything up-to-date
Hat das etwas damit zu tun, dass man nicht sicher ist? Ich habe versucht, einen öffentlichen Schlüssel wie in der Antwort für Fatal zu erstellen : Das Remote-Ende hat unerwartet aufgelegt und ihn erneut ausgeführt, aber es funktioniert immer noch nicht. Benutze ich den Schlüssel nicht wirklich? Wenn ja, wie verwende ich es?
git remote -v
error: could not lock config file .git/config: No such file or directory
sehen stackoverflow.com/a/32329453/827525Antworten:
Das sieht ähnlich wie Wie kann ich Github zu ssh auf Standard und nicht https für neue Repositories . Wahrscheinlich lohnt es sich, vom http-Protokoll zum ssh zu wechseln:
quelle
origin
bereits vorhanden ist und Sie versuchen, sie zu ersetzen. git erlaubt das nicht. Sie müssen es also zuerstgit remote rm origin
versuchen und dann erneut versuchen. Es würde funktionierengit init
Das Problem ist auf die Einstellungen des Git / https-Puffers zurückzuführen. Um es zu lösen (von Git übernommen schlägt fehl, wenn Commit auf Github gedrückt wird )
Führen Sie den Befehl erneut aus
quelle
--global
? Ich beschäftige mich regelmäßig mit großen Repositories.Ursache: Die Standardgröße für Dateipost für Git wurde überschritten.
Lösung:
Navigieren Sie zum Repo.
Führen Sie den folgenden Befehl aus, um den Puffer nach dem Navigieren zum Repository auf 500 MB zu erhöhen:
quelle
git config ssh.postBuffer 524288000
wenn Sie über ssh anstelle von http posten.git config --global http.postBuffer 100000000
Möglicherweise wird ein solcher Fehler angezeigt
Das liegt daran, dass Sie keine lokale
.git/config
Datei haben. Mit diesem Befehl können Sie sie zum Laufen bringengit config --global http.postBuffer 524288000
quelle
Andere Lösungen haben in meinem Fall nicht funktioniert. Eine Speicherbereinigung hat dies für mich behoben:
git gc --aggressive
quelle
Im Gegensatz zu einer der anderen Antworten - ich hatte das Problem beim Push mit ssh - wechselte ich zu https und es wurde behoben.
quelle
Dieser Fehler kann auch durch fehlende Schreibberechtigungen im Repository ausgelöst werden .
Mein konkreter Fall ging so:
root
Benutzer meines Servers (über SSH).git
Linux-Benutzer erstellt, der alle git-bezogenen Aktionen verwalten soll.root
in erster Linie mit dem Benutzer erstellt wurde und dergit
Benutzer einfach nicht über die Dateiberechtigungen verfügte, um etwas in das Repository zu schreiben.quelle
Täter (in meinem Fall):
Ein Netzwerk mit hoher Latenz.
Dies ist keine Antwort an sich, sondern eher eine Beobachtung, die anderen helfen kann. Ich habe festgestellt, dass dieser Fehler gelegentlich in Netzwerken mit hoher Latenz auftritt (ich muss beispielsweise eine Satellitenschüssel für den Internetzugang verwenden). Die Geschwindigkeit des Netzwerks ist in Ordnung, aber die Latenz kann hoch sein. Hinweis: Das Problem tritt nur in bestimmten Szenarien auf, aber ich habe das Muster nicht ermittelt.
Vorübergehende Schadensbegrenzung:
Ich habe das Netzwerk gewechselt - ich bin zu einem Mobilfunknetz mit langsamerer Latenz gewechselt (mein Telefon wurde als Hotspot verwendet) - und das Problem ist verschwunden. Beachten Sie, dass ich dies nur zeitweise tun kann, da meine Zellenverbindung auch zeitweise ist. Plus die Bandbreitennutzung erhöht die Kosten. Ich bin auch glücklich, dass mir diese Option zur Verfügung steht. Nicht jeder tut es.
Ich bin mir sicher, dass es irgendwo eine Konfigurationseinstellung gibt, die git - oder ssh oder curl oder was auch immer zuerst abläuft - toleranter gegenüber solchen Netzwerken macht, aber ich weiß nicht, was es ist.
Ein Plädoyer für Entwickler:
Diese Art von Problemen ist ein ständiges Problem für die ländliche Bevölkerung. Denken Sie bitte an uns, wenn Sie Ihre Systeme, Tools und Anwendungen entwerfen. Danke dir.
quelle
In unserem Fall war das Problem ein Klon, der eine
.git/config
Datei schrieb , die einen URL-Eintrag enthielt, der eine schreibgeschützte Zugriffsmethode war. Das Ändern der URL von der://
Methode zur@
Methode hat das Problem behoben.Laufen
git remote -v
beleuchtete das Problem einige.quelle
Wenn Sie git für Windows verwenden (und dies wahrscheinlich auch auf einem Windows-Computer tun) und keine der anderen Korrekturen hier für Sie funktioniert hat, gehen Sie zu https://github.com/git-for- Windows / Git / Releases und Abrufen einer Version auf oder nach Version 2.4.5. Das Problem wurde für mich behoben.
quelle
Sie haben wahrscheinlich das Repository in ein vorhandenes geklont. Um das Problem zu lösen, können Sie das Repository einfach in ein anderes Verzeichnis klonen und die Änderungen in dieses neue Verzeichnis replizieren und dann den Push ausführen.
quelle
Ein weiterer Zusatz, da ich auf diesen Fehler anders gestoßen bin und Google mich hierher gebracht hat.
Mein Problem war ein Missverhältnis der Fälle; ein camelCase und einer nicht. Anscheinend hält GIT Sie davon ab, ohne Ihnen zu sagen, warum. Wenn sich Ihre Zweige nur in der Großschreibung von der Fernbedienung unterscheiden, versuchen Sie, sie so zu ändern, dass sie identisch sind.
Siehe: Git: 'Master kann nicht zum Verzweigen aufgelöst werden' nach dem Zusammenführen
quelle
Dies kann nach dem Aktualisieren Ihrer OSX-Plattform auftreten.
Öffnen Sie Terminal, navigieren Sie zu Ihrem .ssh-Ordner und geben Sie ein
ssh-add -K ~/.ssh/id_rsa
quelle
PLESK Nginx und GIT Ich habe diesen Fehler auf plesk git erhalten und als ich ein großes Repo mit (wer weiß was) gepusht habe, habe ich diesen Fehler mit HTTP-Code 413 erhalten Also habe ich in Protokolle geschaut und den Fehler in Nginx-Protokollen gefunden
Folgen Sie diesem Link , damit plesk die Konfiguration mit einem größeren Datei-Upload neu erstellen kann.
Ich habe den PHP-Teil für Git übersprungen
Danach funktionierte Git Push ohne Fehler.
quelle
Ich hatte zufällig den gleichen Fehler beim Ziehen.
Ich habe den Trick "http.postBuffer" gemacht. Es löste es, aber als ich pushen wollte, stieß ich erneut auf den Fehler.
Was mein Problem gelöst hat:
1. Klont es in einen anderen Ordner mit einer anderen virtuellen Maschine. (Linux).
2. Ich habe meine Änderungen vorgenommen.
3. Pushed es mit der ursprünglichen virtuellen Maschine, wo ich anfänglich nicht pushen konnte. (Windows)
quelle
Ich habe diesen Fehler erhalten, als ich ein falsches Schlüsselpaar in .ssh hatte. Das Hinzufügen des Pubkeys zu Github (in den Einstellungen) hat dieses Problem für mich behoben.
quelle
Ich habe das gleiche Problem. Ich habe auf der Git-Webseite festgestellt, dass die SSH-Klon-URL die nächste Struktur hat:
Ich könnte mein Problem lösen, indem ich das ":" durch "/" wie folgt ändere:
Möglicherweise kann dies hilfreich sein.
quelle
Es scheint fast sinnlos, eine Antwort hinzuzufügen, aber ich habe lange dagegen gekämpft, als ich schließlich entdeckte, dass es sich bei Visual Studio Online um einen sporadischen Ausfall handelte. Dies wurde deutlich, als VS immer wieder nach Creds fragte und die VSO-Website manchmal 500 gab.
Ich habe meinen HTTP-Post-Puffer danach wieder auf 2 MB gesetzt, da ich denke, dass er mit vielen kleineren Posts besser funktioniert.
Luke
quelle
Scheint, als könnte es eines von tausend Dingen sein.
Für mich war es zunächst ein Push für Master und Entwicklung (Master hatte keine Änderungen) über SourceTree. Das Ändern, um zu entwickeln, hat nur funktioniert.
quelle
Ich hatte einen ähnlichen Fehler beim Hochladen eines großen Repos "fatal: Das Remote-Ende hat unerwartet aufgelegt", ohne weitere Details.
Nach vielen Recherchen habe ich Folgendes getan:
Schließlich kam mir der Gedanke, dass ich möglicherweise einen älteren Git-Client verwende, da ich keine zusätzlichen Fehlermeldungen sah. Ich habe den Git-Client auf den neuesten Stand (2.20.1) aktualisiert und voila, der Fehler ist weg!
quelle
Ich habe diesen Fehler erhalten, als ich meinen Namen für den Remote-Zweig falsch geschrieben habe
quelle
Ich konnte dieses Problem mit Git Shell umgehen.
Jedes Repository in github.com enthält HTTPS / SSH / Subversion-URLs, die Sie zum Herunterladen mit Shell verwenden können. Weitere Informationen finden Sie hier: http://prntscr.com/8ydguv .
Basierend auf den jüngsten Änderungen von GitHub scheint SSH die beste Methode zu sein.
Befehl zur Verwendung in Shell:
quelle
git
in einem Terminal?Führen Sie dies aus, um den von Ihnen verwendeten Schlüssel anzuzeigen. ssh -vT [email protected]
Stellen Sie dann sicher, dass Sie diesen Lauf in Ihrem Build zu Beginn haben. eval "$ (ssh-agent -s)" ssh-add ~ / .ssh / id_rsa
quelle
1) CD zum Projektverzeichnis
2)
git status
3)
git checkout -f HEAD
4) Bestätigen Sie den Erfolg, indem Sie den Master erneut herunterziehen, um sicherzustellen, dass Sie auf dem neuesten Stand sind, wenn Ihr Repo unvollständig aussieht
Dies funktioniert, wenn Sie beim Klonen eines Repos von Bitbucket den fraglichen Fehler von Visual Studios Git erhalten
quelle
Dies kann auch passieren, wenn eines der Commits, die Sie ausführen, fehlerhaft ist.
Ich hatte (unwissentlich) ein Commit mit einem fehlerhaften Autoren-E-Mail-Feld, aber alles, was ich bekam, war diese vage
remote end hung up
Fehlermeldung. Ich war in der Lage, andere Zweige zu pushen, nur nicht diesen einen Zweig, also fing ich an, Commits von dem "schlechten" Zweig einzeln zu pushen, bis ich schließlich landete bei:So sieht es aus wie die
remote end hung up unexpectedly
Fehler die eigentliche Fehlermeldung "verschlucken", was wahrscheinlich eine Art fehlerhaftes Commit ist, wie ich es hier habe.Nachdem ich die fehlerhafte E-Mail behoben hatte, konnte ich ganz gut pushen.
quelle
Ich denke nicht, dass es eine gute Idee ist, das zu tun, aber wenn Sie ein Backup in Ihrem Computer haben ... drücken Sie noch einmal und versuchen Sie dann, Repo zu klonen und entfernen Sie dann .git aus dem alten Verzeichnis und verschieben Sie .git aus dem neuen geklonten Ordner. Git ist gelöst Aufgrund des Problems werden einige Dateien möglicherweise nicht bei git hochgeladen. Schieben Sie alles erneut von Ihrem Backup nach oben und ziehen Sie es dann zu Ihrem Server oder dem anderen Computer, auf dem es beschädigt wird. Im Moment habe ich nur das getan ... Funktioniert für mich ... und mache ein Backup deines Verzeichnisses, bevor ich das mache.
Und bitte korrigieren Sie mich, wenn ich falsch liege. Ich weiß auch nicht, was danach schief gehen kann? Aber diesmal funktioniert es wirklich.
quelle
Mein Problem (schwerwiegend: Das Remote-Ende wurde unerwartet aufgelegt) wurde behoben, indem die Berechtigung und der Eigentümer des Repositorys überprüft wurden.
Der Eigentümer der Git-Repository-Dateien muss der Benutzer sein, mit dem Sie Push / Pull / Clone ausführen möchten.
quelle
Keine der oben genannten Antworten hat bei mir funktioniert, aber hier ist, was getan hat.
1) Löschen Sie
.git/
aus Ihrem Projekt.2) Klonen Sie das Remote-Repo an einen neuen Ort wie Ihren Desktop.
git clone https://github.com/foo/bar.git
3) Wechseln Sie
.git/
vom neuen Standort zum alten Standort.4) Legen Sie Ihre Änderungen erneut fest und übertragen Sie sie
quelle
Die Hauptursache für mich waren die Netzwerkeinstellungen: Ich habe eine "Killer" -Wifi-Karte, die anscheinend mit Netzwerkpaketen auf eine Weise Mist macht, die SSH und SSL nicht mögen.
Um das Problem zu beheben, musste ich in "Killer Control Center", "Parameters" und "Advanced Stream Detect" deaktivieren - Git-Befehle funktionierten sofort wieder.
quelle
Dieser Artikel hat eine sehr gute Erklärung und hat mein Problem gelöst.
https://confluence.atlassian.com/stashkb/git-push-fails-fatal-the-remote-end-hung-up-unexpectedly-282988530.html
quelle