Git schlägt fehl, wenn Commit an GitHub gesendet wird

Ich habe ein Git Repo geklont, das ich auf GitHub auf meinem Laptop gehostet habe. Ich war in der Lage, ein paar Commits ohne Probleme nach Github zu schicken. Jetzt bekomme ich jedoch den folgenden Fehler:

Compressing objects: 100% (792/792), done. error: RPC failed; result=22, HTTP code = 411 Writing objects: 100% (1148/1148), 18.79 MiB | 13.81 MiB/s, done. Total 1148 (delta 356), reused 944 (delta 214) 

Von hier hängt es einfach und ich muss schließlich STRG + C zurück zum Terminal.

    Ich hatte das gleiche Problem und glaube, dass es mit der Größe des Repos (bearbeitet oder die Größe einer bestimmten Datei) zu tun hat.

    Im Grunde konnte ich neue Repos erstellen und sie zu Github schieben. Aber ein bestehender würde nicht funktionieren.

    Der HTTP-Fehlercode scheint mir zu helfen, es ist ein ‘Length Required’ Fehler. Also vielleicht ist es zu groß um es zu berechnen oder zu schätzen, dass der max. Wer weiß.

    BEARBEITEN

    Ich habe festgestellt, dass das Problem große Dateien sein können. Ich hatte ein Update, das nicht pushte, obwohl ich bis zu diesem Punkt erfolgreiche Pushs hatte. Es gab nur eine Datei im Commit, aber es war 1.6M

    Also habe ich die folgende Konfigurationsänderung hinzugefügt

     git config http.postBuffer 524288000 

    Um die Dateigröße 500M zu erlauben und dann hat mein Push funktioniert. Es könnte sein, dass dies anfangs das Problem war, ein großes Repo über das HTTP-Protokoll zu schieben.

    ENDE EDIT

    Die Art, wie ich es zum Laufen bringen konnte (BEARBEITEN, bevor ich postBuffer änderte), war, meinen Repo zu tarnen, ihn auf einen Computer zu kopieren, der sh überspielen kann, und ihn auf github zu schieben. Wenn Sie dann versuchen, einen Push / Pull vom ursprünglichen Server auszuführen, sollte es über https funktionieren. (da es eine viel kleinere Menge von Daten als ein ursprüngliches Drücken ist).

    Hoffe das hilft.

    Sieht aus wie ein Serverproblem (zB ein “GitHub” Problem).
    Wenn Sie sich diesen Thread ansehen, kann es passieren, dass das git-http-backend einen beschädigten Heap bekommt (und da sie nur eine intelligente HTTP-Unterstützung installiert haben …)
    Aber was auch immer der eigentliche Grund ist, es kann auch mit der kürzlichen sporadischen Unterbrechung in einem der GitHub Fileserver zusammenhängen .

    Wird diese Fehlermeldung weiterhin angezeigt? Denn wenn du Folgendes tust:

    • Überprüfen Sie Ihre lokale Git-Version (und aktualisieren Sie auf die neueste Version)
    • melde dies als einen GitHub-Bug .

    Hinweis: Die Smart HTTP-Unterstützung ist eine große Sache für diejenigen von uns hinter einem authentifizierten Unternehmens-Firewall-Proxy!

    Wenn Sie nun ein Repository über die URL http:// klonen und einen Git-Client der Version 1.6.6 oder höher verwenden, verwendet Git automatisch den neueren, besseren Transportmechanismus.
    Noch erstaunlicher ist jedoch, dass Sie nun dieses Protokoll übersteuern und auch private Repositories klonen können. Wenn Sie auf ein privates Repository zugreifen oder ein Mitarbeiter sind und Push-Zugriff wünschen, können Sie Ihren Benutzernamen in die URL eingeben und Git wird Sie nach dem Passwort fragen, wenn Sie versuchen, darauf zuzugreifen.

    Ältere Kunden werden auch auf die ältere, weniger effiziente Art zurückgreifen, also sollte nichts kaputt gehen – nur neuere Clients sollten besser funktionieren.

    Also noch einmal, stellen Sie sicher, zuerst Ihren Git-Client zu aktualisieren.

    Push von Git GUI statt Bash funktioniert für mich.

    Wenn dieser Befehl nicht hilft

    git config http.postBuffer 524288000

    Versuchen Sie, die ssh-Methode in https zu ändern

     git remote -v git remote rm origin git remote add origin https://github.com/username/project.git 

    Das Problem, das am häufigsten auftritt, liegt an der Größe der Dateien, die verschoben werden müssen. Ich habe versucht, einige Bibliotheken von nur Größe 2 mb zu schieben, dann gab auch der Push Fehler von RPC mit Ergebnis 7. Die Linie ist von 4 Mbps und funktioniert gut. Einige nachfolgende Versuche zum Push haben mir Erfolg gebracht. Wenn ein solcher Fehler auftritt, warten Sie einige Minuten und versuchen Sie es weiter.

    Ich habe auch herausgefunden, dass es einige RPC-Fehler gibt, wenn der GitHub ausgefallen ist oder ein instabiles Netzwerk an seiner Seite wird.

    Es ist also die einzige Möglichkeit, nach einigen Intervallen zu versuchen!

    In diesen Fällen können Sie ssh versuchen, wenn https hängen bleibt.

    Sie können auch versuchen, die Puffergröße auf eine astronomische Zahl zu erhöhen, so dass Sie sich keine Gedanken über die Puffergröße mehr git config http.postBuffer 100000000 machen müssen