Start·Fehlermeldungen

git · Git

Die Meldung

error: src refspec main does not match any

Was es bedeutet

Der Name, den Sie pushen wollten, existiert lokal weder als Branch noch als Tag — und was nicht da ist, lässt sich nicht senden. Das passiert in einem frischen Repository ohne Commits, in dem main noch nicht existiert; oder wenn Ihr lokaler Branch master heißt und Sie main getippt haben; oder es ist einfach ein Tippfehler. git push -u origin HEAD schickt genau den Branch, auf dem Sie stehen, unter seinem echten Namen, und räumt den Namensfehler in einem Schritt aus. Gibt es überhaupt keinen Commit, machen Sie zuerst einen — ein leeres Repository hat nichts zu senden.

Die Lösung

git push -u origin HEAD
Ausgegeben von
git
Git
29

Fast jeder git-Fehler ist eine Verweigerung im Sinne von „das aus diesem Zustand zu tun würde etwas verlieren“; fatal: heißt, git hat ohne jede Änderung abgebrochen, und die hint:-Zeilen unter der ersten enthalten meist die eigentliche Lösung.

Eine Fehlermeldung lesen

  • Von der ersten Zeile abwärts lesen. Weiter unten geht es um das Innere des Werkzeugs; die Ursache steht meist oben.
  • Gibt es Datei und Zeilennummer, dort anfangen — nicht der oberste Stack-Frame, sondern die oberste Zeile, die eine eigene Datei nennt.
  • Die Meldung wörtlich suchen, vorher aber eigene Pfade und Variablennamen entfernen; genau die verhindern den Treffer.
  • Dieselbe Lage wird je Werkzeugversion anders formuliert. Passen die Treffer nicht, die Versionsnummer mit in die Suche.
  • Vor dem Einfügen einer Lösung prüfen, was sie verwirft. Manches davon lässt sich nicht zurückholen.

Häufige Fragen

Q. Was bedeutet „error: src refspec main does not match any“?

Der Name, den Sie pushen wollten, existiert lokal weder als Branch noch als Tag — und was nicht da ist, lässt sich nicht senden. Das passiert in einem frischen Repository ohne Commits, in dem main noch nicht existiert; oder wenn Ihr lokaler Branch master heißt und Sie main getippt haben; oder es ist einfach ein Tippfehler. git push -u origin HEAD schickt genau den Branch, auf dem Sie stehen, unter seinem echten Namen, und räumt den Namensfehler in einem Schritt aus. Gibt es überhaupt keinen Commit, machen Sie zuerst einen — ein leeres Repository hat nichts zu senden.

Q. Wie behebe ich das?

git push -u origin HEAD — vor dem Ausführen oben prüfen, was dieser Befehl verwirft.

Q. Welches Werkzeug gibt das aus?

git. Es gehört zu Git, und die Meldung hat 8 Wörter.

Verwandte Fehler