Menu
Coddy logo textTech

Einen Branch zurücksetzen (reset)

Teil des Abschnitts Versionsverwaltung der Terminal-Journey von Coddy — Lektion 44 von 58.

git reset bewegt den aktuellen Branch-Pointer zu einem anderen Commit. Die häufigste Verwendung besteht darin, kürzlich getätigte Commits rückgängig zu machen, die noch nicht geteilt wurden.

git reset --hard HEAD~1

Dies verschiebt main um einen Commit zurück und überschreibt das Arbeitsverzeichnis entsprechend. Der übersprungene Commit ist von Ihrem Branch aus nicht mehr erreichbar (Git bewahrt ihn eine Weile auf, falls Sie es sich anders überlegen, aber rechnen Sie damit, dass er verschwindet).

Es gibt drei Varianten von Reset:

  • --soft: den Branch-Pointer verschieben; gestagete Änderungen behalten
  • --mixed (Standard): den Pointer verschieben; Änderungen aus dem Staging-Bereich entfernen, aber Arbeitsdateien behalten
  • --hard: den Pointer verschieben; auch Änderungen in den Arbeitsdateien verwerfen

--hard ist die destruktivste Form. Es eignet sich hervorragend zum Bereinigen lokaler Fehler, aber verwenden Sie es niemals für Commits, die andere Personen bereits gepullt haben.

challenge icon

Aufgabe

Mittel

Der Ordner enthält doc.md. Initialisiere das Repository und erstelle drei Commits in der folgenden Reihenfolge:

  1. Füge doc.md mit der Nachricht Add doc hinzu.
  2. Hänge second an doc.md an, committe mit der Nachricht Second draft.
  3. Hänge third an doc.md an, committe mit der Nachricht Third draft.

Führe einen Hard-Reset des Branches zurück auf den allerersten Commit mit HEAD~2 durch. Gib den Inhalt von doc.md aus.

Spickzettel

git reset verschiebt den aktuellen Branch-Pointer auf einen anderen Commit. Drei Varianten:

  • --soft: Pointer verschieben; Staged-Änderungen behalten
  • --mixed (Standard): Pointer verschieben; Unstage, aber Arbeitsdateien behalten
  • --hard: Pointer verschieben; Änderungen an Arbeitsdateien verwerfen
git reset --hard HEAD~1  # letzten Commit rückgängig machen, Änderungen verwerfen
git reset --hard HEAD~2  # die letzten 2 Commits rückgängig machen

Warnung: Verwenden Sie --hard niemals für Commits, die andere bereits gepullt haben.

Probier es selbst

Terminal
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Versionsverwaltung