Git-Fehler rückgängig machen: der Entscheidungsbaum
In Git geht fast nichts verloren. Ein angstnehmender Entscheidungsbaum für reset, revert, stash und reflog, verankert an einem sichtbaren Rückgängig.

Fast alles in Git lässt sich rückgängig machen
Der wichtigste Satz zuerst: In Git geht fast nichts wirklich verloren. Commits, die Du glaubst gelöscht zu haben, liegen oft noch da und lassen sich zurückholen. Diese Sicherheit nimmt den Schrecken. Der Grund, warum Fehler trotzdem Panik auslösen, ist nicht die Gefahr, sondern die Unsicherheit, welcher der vielen Befehle der richtige ist.
Dieser Entscheidungsbaum ordnet die häufigsten Situationen. Frag Dich zuerst, wo der Fehler steckt, dann folgt der passende Weg fast von allein.
Ich habe noch nicht committet
Die Änderung liegt nur im Arbeitsverzeichnis. Willst Du sie ganz verwerfen, setzt Du die Datei auf den letzten Stand zurück (checkout beziehungsweise restore). Willst Du sie nur kurz beiseitelegen, um etwas anderes zu tun, nutzt Du einen Stash. Der Stash ist ein sicherer Zwischenspeicher, aus dem Du die Änderung später wieder hervorholst.
Ich habe zu früh oder falsch committet
Der Commit ist gemacht, aber noch nicht gepusht. Willst Du nur die Nachricht oder den Inhalt des letzten Commits korrigieren, ist Amend der Weg. Willst Du den Commit auflösen und die Änderungen zurück ins Arbeitsverzeichnis holen, nutzt Du einen weichen Reset. Der Commit verschwindet, Deine Arbeit bleibt.
Ich habe schon gepusht
Sobald andere den Commit haben könnten, gilt eine wichtige Regel: Die Historie nicht mehr umschreiben. Statt den Commit zu löschen, machst Du seine Wirkung mit einem Revert rückgängig. Revert erzeugt einen neuen Commit, der die Änderung aufhebt, ohne die gemeinsame Historie zu zerstören. So bleiben alle im Team synchron.
Ich habe etwas gelöscht und will es zurück
Hier hilft das Reflog. Git führt ein Protokoll darüber, wo HEAD überall war. Selbst ein Commit, den ein harter Reset scheinbar vernichtet hat, taucht dort meist noch auf und lässt sich wiederherstellen. Das Reflog ist das Sicherheitsnetz, das viele nicht kennen.
Der Entscheidungsbaum in Kurzform
- Noch nicht committet, verwerfen: Datei zurücksetzen.
- Noch nicht committet, aufheben für später: Stash.
- Letzter Commit falsch, nicht gepusht: Amend oder weicher Reset.
- Schon gepusht: Revert, nicht die Historie umschreiben.
- Etwas scheinbar verloren: Reflog.
Warum ein sichtbares Rückgängig so viel wert ist
Diese Befehle sind mächtig, aber ihre Namen sind wenig eingängig, und ein falscher Schalter fühlt sich gefährlich an. Genau hier hilft eine gute Oberfläche. Spire macht viele dieser Schritte als sichtbares Rückgängig zugänglich, sodass Du eine Aktion zurücknehmen kannst, ohne den passenden Git-Befehl auswendig zu kennen. Das senkt die Hürde, überhaupt etwas auszuprobieren, und Ausprobieren ist beim Lernen von Git die halbe Miete.
Ehrlich bleibt: Ein Werkzeug ersetzt nicht das Verständnis. Aber es gibt Dir den Mut, den Du brauchst, um dieses Verständnis in Ruhe aufzubauen.