Git-Fehler beim Pushen (Remote konnte Status nicht melden)

Lesezeit: 5 Minuten

Ich habe ein Repository von einem Github Enterprise Remote mit der Option “–mirrror” geklont.

Ich möchte dieses Repo in ein anderes Remote-Repository verschieben, aber ich habe den folgenden Fehler:

>     ! [remote failure]        XXXX-7342f50b84fbfff3a2bbdcf81481dbcb2d88e5cd -> XXXX-7342f50b84fbfff3a2bbdcf81481dbcb2d88e5cd (remote failed to report status)
>     error: failed to push some refs to '[email protected]:XXXX/YYYY.git'
>     Branch master set up to track remote branch master from origin.

  • Gab es weitere Meldungen?

    – max630

    24. Februar 2019 um 7:56 Uhr

  • Nein, nur diese Art von Fehler, sondern für viele weitere Zweige. Ich ging voran, indem ich die meisten von ihnen entfernte, da sie nicht mehr verwendet wurden

    – Bertrand

    26. Februar 2019 um 12:09 Uhr

Betrieb git gchat das für mich gelöst. Dies wird etwas Müll sammelnde Haushaltsführung erledigen Aufgaben was dieses Problem verursachen könnte.

  • Hat mir viel Zeit gespart! Wie um alles in der Welt hast du das entdeckt??

    – Marco Merlini

    25. Februar 2020 um 18:09 Uhr

  • Dies hat bei mir nicht funktioniert. Ich musste sie in Stapeln hochschieben, wie in @Martins Antwort erwähnt.

    – Splaktar

    6. Mai 2021 um 7:00 Uhr

Ich hatte genau diesen Fehler bei einem sehr großen (22 GB) gespiegelten geklonten Repo, das ich in unseren GitHub-Unternehmensserver importieren sollte.

git gc hat geholfen, da es die Größe des Repos auf nur 7 GB reduziert hat, aber ich konnte es immer noch nicht pushen, weil es ~ 13.000 Tags gab (und anscheinend jeder war lebenswichtig!), die auf die gleiche Weise wie die OP-Berichte als Fehler aufgeführt wurden.

Die Lösung besteht darin, die Tags in kleineren Blöcken zu verschieben, z

git push refs/tags/tag-2015* git@my_server:my_org/my_repo

Sie können dies in eine Schleife stecken und alle Tags in Blöcken verschieben, z

for n in {15..20}; do git push refs/tags/tag-20${n}* git@my_server:my_org/my_repo; done

Jetzt, wenn Sie das Original machen push --mirror Diese Tags sind bereits auf der Fernbedienung vorhanden und Sie erhalten den Fehler nicht.

Bevor ich dazu kam, habe ich auch die Äste auf ähnliche Weise geschoben, aber da das das Problem nicht gelöst hat, glaube ich nicht, dass es wichtig war. Falls es jedoch relevant war, wechseln Sie auf diese Weise zu jedem Zweig in einem Bare-Repo und pushen es.

git branch -a --format "%(refname)" | xargs -i bash -c "git symbolic-ref HEAD {} && git push git@my_server:my_org/my_repo"

Dies mag ein Mythos sein, aber der Grund, der mir für diesen Fehler gegeben wurde, ist, dass Git einige versteckte Grenzen tief in sich hat. In diesem Fall gibt es eine Einschränkung für das Pushen von Tags, wobei der gesamte Vorgang innerhalb von 5 Minuten abgeschlossen sein muss. Daher funktioniert das Aufbrechen des Prozesses.

  • Ich musste die Reihenfolge der Argumente aus Ihrem Beispiel umkehren – zuerst repo, dann refs.

    – Yamikuronue

    4. März 2021 um 18:19 Uhr

  • Hinzufügen einiger Informationen für ein besonders schwieriges Repo, das ich zum Spiegeln handhaben musste: Zuerst musste ich alle Refs/Heads/* in kleine Stapel aufteilen. Dann musste ich auch Refs/Tags/* pushen. An diesem Punkt war push –mirror immer noch fehlgeschlagen , der Hinweis war jedoch, zu sehen, welche nächsten Referenzen in der Liste “Fehler beim Melden des Status” stehen, und ich habe verstanden, dass es einen weiteren letzten Bereich gibt, der refs/heads ähnelt, nämlich refs/remotes/REMOTE_NAME/* Auch beim Schieben war der Spiegel sauber und erfolgreich. “–all” deckt keine entfernten Referenzen ab – dieselbe Menge wie Referenzen/Köpfe, “:” ist wie –mirror

    – Daniel K

    22. Juli 2021 um 18:03 Uhr


Es scheint, dass ich zu viele Referenzen hatte (~ 9000). Das Entfernen der meisten von ihnen hat das Problem behoben

  • Als ich dieses Problem hatte, wurde es durch Löschen des Repos und Neustarten behoben.

    – Stephen Saucier

    13. Mai 2019 um 18:00 Uhr

  • Bitte aktualisieren Sie Ihre Antwort mit der Vorgehensweise. Ich denke, das könnte die Lösung sein, die ich brauche, aber jetzt muss ich noch etwas googeln.

    – Martin

    2. Oktober 2020 um 10:44 Uhr

Ich habe ein git pull --rebase branchname und dann git push origin branchname

Ich bin auf dieses Problem gestoßen, als ich ein mit generiertes Repository gepusht habe svn2git. Offensichtlich gab es keine offenen PRs (nagelneues leeres Upstream-Repo) und repack und gc hat nicht geholfen. Die Größe des Repos scheint keine Rolle zu spielen. Hier einige Beobachtungen:

  1. Beim Zuschieben Github Enterprise (selbst gehostet): push --mirror funktioniert gut.
  2. Beim Zuschieben github.com, ich bekomme dieses Problem. Jedoch:
  • git push --tags und git push --all funktioniert gut.
  • git push --mirror scheitert an beiden refs/backups/* oder refs/replace/*

Meine Schlussfolgerung ist, dass dieses Problem bei bestimmten Refs auftreten kann, die github.com nicht mag, aber --all --tags ist gut genug für meine bedürfnisse.

  • Ich auch! Ich habe keine Ahnung, wie ich sicherstellen kann, dass meine Inhalte gesichert sind, hoffentlich reicht es aus, alle Zweige zu haben.

    – Daniel K

    22. Juli 2021 um 16:50 Uhr

Benutzer-Avatar
David Calhoun

Es sieht so aus, als würde dieser Fehler auch auftreten, wenn Github nicht verfügbar ist (das können Sie Überprüfen Sie den Status von Github hier), wie es aktuell ist, als ich dies schreibe. Ich erhalte einen ähnlichen Fehler, dem vorangestellt ist Internal Server Error:

davidcalhoun@Davids-MacBook-Pro hugo % git push
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 16 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (6/6), 485 bytes | 485.00 KiB/s, done.
Total 6 (delta 4), reused 2 (delta 0)
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
remote: Internal Server Error
To github.com:davidcalhoun/davidbcalhoun.com.git
 ! [remote failure]    master -> master (remote failed to report status)
error: failed to push some refs to '[email protected]:davidcalhoun/davidbcalhoun.com.git'

  • Ich auch! Ich habe keine Ahnung, wie ich sicherstellen kann, dass meine Inhalte gesichert sind, hoffentlich reicht es aus, alle Zweige zu haben.

    – Daniel K

    22. Juli 2021 um 16:50 Uhr

1206230cookie-checkGit-Fehler beim Pushen (Remote konnte Status nicht melden)

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy