git · Git
Die Meldung
nothing to commit, working tree clean
Was es bedeutet
Das ist kein Fehler: git sagt Ihnen, dass sich nichts vom letzten Commit unterscheidet, also hat es nichts getan. Sie sehen es, wenn die bearbeitete Datei von .gitignore erfasst wird, wenn Sie an einem anderen Klon oder Worktree gearbeitet haben als dem, in dem Sie stehen, oder wenn Sie längst committet und es vergessen haben. git check-ignore -v <Pfad> gibt genau die .gitignore-Zeile aus, die eine Datei verbirgt, und git log -1 zeigt, ob die Änderung schon eingegangen ist. Beide Befehle lesen nur.
Die Lösung
git check-ignore -v path/to/file- 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 „nothing to commit, working tree clean“?
Das ist kein Fehler: git sagt Ihnen, dass sich nichts vom letzten Commit unterscheidet, also hat es nichts getan. Sie sehen es, wenn die bearbeitete Datei von .gitignore erfasst wird, wenn Sie an einem anderen Klon oder Worktree gearbeitet haben als dem, in dem Sie stehen, oder wenn Sie längst committet und es vergessen haben. git check-ignore -v <Pfad> gibt genau die .gitignore-Zeile aus, die eine Datei verbirgt, und git log -1 zeigt, ob die Änderung schon eingegangen ist. Beide Befehle lesen nur.
Q. Wie behebe ich das?
git check-ignore -v path/to/file — 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.