Start·Fehlermeldungen

git · Git

Die Meldung

You are in 'detached HEAD' state.

Was es bedeutet

HEAD zeigt direkt auf einen Commit statt auf einen Branch-Namen, sodass jeder Commit, den Sie hier machen, ohne Namen bleibt. Hierher gelangt man, indem man einen Commit-Hash oder ein Tag auscheckt, in einem Submodul arbeitet oder weil die CI genau einen Commit ausgecheckt hat. Um das Getane zu behalten, legt git switch -c name genau hier einen Branch an und verliert nichts. Gehen Sie stattdessen einfach mit git switch main weg, zeigt nichts mehr auf Ihre Commits: das Reflog findet sie noch eine Weile, dann räumt die Garbage Collection sie ab.

Die Lösung

git switch -c rescue
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 „You are in 'detached HEAD' state.“?

HEAD zeigt direkt auf einen Commit statt auf einen Branch-Namen, sodass jeder Commit, den Sie hier machen, ohne Namen bleibt. Hierher gelangt man, indem man einen Commit-Hash oder ein Tag auscheckt, in einem Submodul arbeitet oder weil die CI genau einen Commit ausgecheckt hat. Um das Getane zu behalten, legt git switch -c name genau hier einen Branch an und verliert nichts. Gehen Sie stattdessen einfach mit git switch main weg, zeigt nichts mehr auf Ihre Commits: das Reflog findet sie noch eine Weile, dann räumt die Garbage Collection sie ab.

Q. Wie behebe ich das?

git switch -c rescue — 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 6 Wörter.

Verwandte Fehler