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~1Dies 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.
Aufgabe
MittelDer Ordner enthält doc.md. Initialisiere das Repository und erstelle drei Commits in der folgenden Reihenfolge:
- Füge
doc.mdmit der NachrichtAdd dochinzu. - Hänge
secondandoc.mdan, committe mit der NachrichtSecond draft. - Hänge
thirdandoc.mdan, committe mit der NachrichtThird 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 machenWarnung: Verwenden Sie --hard niemals für Commits, die andere bereits gepullt haben.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Versionsverwaltung
2Erste Schritte
Ein Repository initialisierenDer .git-OrdnerIdentität konfigurierenGit StatusZusammenfassung – Erstes Repo5Dateien ignorieren
Warum Dateien ignorierenGitignore-MusterIgnore-Regeln prüfenZusammenfassung – Sauberes Repo3Änderungen nachverfolgen
Die Staging AreaGit AddGit CommitÄndern einer verfolgten DateiGit LogZusammenfassung – Erste Commits6Projekt Rezept-Website
ProjektübersichtInitialisieren und Ignorieren9Änderungen rückgängig machen
Nicht gestagte Änderungen verwerfenDatei-Staging aufhebenDen letzten Commit ändern (amend)Einen Commit rückgängig machen (revert)Einen Branch zurücksetzen (reset)Zusammenfassung – Zeitmaschine