Git: Letzte lokale Commits rückgängig machen (ohne Push)

Tutorial: So machst du den letzten lokalen Git-Commit rückgängig, ohne etwas auf den Server gepusht zu haben.

Dieser Artikel hat eine Lesedauer von 1 minute Minuten.

Git: Letzte lokale Commits rückgängig machen (ohne Push)

Falsche Dateien committed, aber noch nicht gepusht? Passiert schneller als man denkt: Du committest, merkst danach, dass die falschen Dateien drin sind und zum Glück ist noch nichts gepusht.

Die gute Nachricht: Solange der Commit nur lokal existiert, lässt er sich sehr sauber “zurückdrehen”, ohne dass du History-Konflikte mit anderen erzeugst.

Schritt 0: Der „Unfall“-Commit

Zur Einordnung ein typisches Beispiel:

git commit -m "Something terribly misguided"

Schritt 1: Letzten Commit rückgängig machen, Änderungen behalten:

git reset HEAD~

Wichtig: Wenn du nur den Commit entfernen wolltest (aber die Änderungen behalten möchtest), bist du an dieser Stelle im Prinzip schon fertig. Du hast jetzt wieder den Zustand “Änderungen vorhanden, aber nicht committed”.

Schritt 2: Dateien korrigieren

Jetzt kannst du die falschen Dateien entfernen, richtige hinzufügen oder Inhalte korrigieren:

Schritt 3: Alles neu committen

Wenn der Stand passt, stage die gewünschten Dateien erneut:

git add .

Und committe dann erneut, mit der ursprünglichen Commit-Message als Vorlage:

git commit -c ORIG_HEAD

Committed die Änderungen erneut und verwende dabei die alte Commit-Nachricht. reset hat den vorherigen HEAD nach .git/ORIG_HEAD kopiert; ein Commit mit -c ORIG_HEAD öffnet einen Editor, der zunächst die Commit-Nachricht des alten Commits enthält und es dir erlaubt, sie zu bearbeiten. Wenn du die Nachricht nicht ändern musst, kannst du stattdessen die Option -C verwenden.

Fazit

Wenn ein Commit lokal schiefgeht und noch nicht gepusht wurde, ist git reset HEAD~ der schnellste und sauberste Weg, um die History zu korrigieren und danach korrekt neu zu committen.

Wer seinen lokalen Branch löschen möchte der kann diesen Blogpost lesen: Git: Branch lokal und remote löschen (einfach erklärt).

Eine Idee im Kopf?


Dann kontaktier mich doch


Wenn du Social-Media-Unterstützung brauchst oder ein Thema journalistisch sauber aufbereiten willst, melde dich.