Menu
Coddy logo textTech

Git Reflog

Zuletzt aktualisiert

git reflog protokolliert jede Position, auf die HEAD gezeigt hat - jeden Commit, Checkout, Reset und Rebase. Da Git diese Commits noch eine Weile behält, selbst nachdem sie deine Branches verlassen haben, ist das Reflog dein Sicherheitsnetz: Es lässt dich Arbeit finden und wiederherstellen, die ein reset --hard, ein misslungenes Rebase oder ein gelöschter Branch scheinbar zerstört hat.

Probiere das im Terminal-Playground aus - eine echte Shell in deinem Browser, nichts zu installieren.

git reflog protokolliert jede Position von HEAD - ein durch Reset oder Rebase verlorener Commit lässt sich so finden und wiederherstellen.

Syntax

CommandWhat it does
git reflogZeigt die letzten Positionen von HEAD mit Hashes an
git reflog show <branch>Zeigt das Reflog eines Branches an
git reset --hard HEAD@{1}Setzt HEAD auf eine frühere Position zurück
git branch recovered <hash>Erstellt einen Branch auf einem verlorenen Commit neu

Nach einem Fehler wiederherstellen

Mache einen fehlerhaften Reset rückgängig, indem du den Commit vor dem Reset findest.

StepCommandResult
1git reflogFinde den Commit vor dem Reset
2git reset --hard HEAD@{1}Setze deinen Branch darauf zurück

Git reflog FAQ

Was ist git reflog?
Es ist ein Protokoll aller Stellen, auf die HEAD (und jede Branch-Spitze) in deinem lokalen Repository gezeigt hat - nach Commits, Checkouts, Resets, Merges und Rebases. Anders als git log, das der Commit-Abstammung folgt, ist das Reflog eine chronologische Aufzeichnung deiner Aktionen, und genau das macht es für die Wiederherstellung nützlich.
Wie stelle ich einen Commit nach git reset --hard wieder her?
Führe git reflog aus, um den Eintrag für den Commit zu finden, auf dem du vor dem Reset warst (etwa HEAD@{1}), und dann git reset --hard <that-hash> (oder HEAD@{1}), um dorthin zurückzukehren. Der Commit wurde nicht wirklich gelöscht - es zeigte nur kein Branch mehr auf ihn, und das Reflog kennt seinen Hash noch.
Wie stelle ich einen gelöschten Branch wieder her?
Finde den letzten Commit des Branches in git reflog und erstelle den Branch dort neu: git branch <name> <hash>. Solange die Löschung kürzlich war (innerhalb der Reflog-Ablaufzeit von Git, typischerweise Wochen), sind die Commits auf diesem Weg noch erreichbar.
Funktioniert git reflog über Klone hinweg?
Nein - das Reflog ist lokal zu deinem Repository und wird weder gepusht noch geklont. Es zeichnet nur Aktionen auf deinem Rechner auf. Deshalb kann es lokale Fehler retten, aber nichts wiederherstellen, das nur je in einem anderen Klon existiert hat.
Kann ich das online üben?
Ja. Öffne den Terminal-Playground, um git reflog in einer echten Shell in deinem Browser auszuführen - nichts zu installieren. Coddys kostenloser interaktiver Git-Kurs behandelt außerdem das Rückgängigmachen von Änderungen und die Wiederherstellung Schritt für Schritt.
Coddy programming languages illustration

Lerne Git mit Coddy

LOS GEHT'S