Einen Branch zurücksetzen
Teil des Abschnitts Versionsverwaltung der Terminal-Journey von Coddy. Lektion 44 von 58.
git reset verschiebt den Zeiger des aktuellen Branches auf einen anderen Commit. Am häufigsten wird der Befehl verwendet, um kürzlich erstellte Commits rückgängig zu machen, die du noch nicht geteilt hast.
git reset --hard HEAD~1Dadurch wird main um einen Commit zurückgesetzt und das Arbeitsverzeichnis überschrieben, sodass es übereinstimmt. Der Commit, den du übersprungen hast, ist von deinem Branch aus nicht mehr erreichbar (Git bewahrt ihn eine Weile auf, falls du deine Meinung änderst, aber rechne damit, dass er verschwindet).
Drei Arten von Zurücksetzungen existieren:
--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 nacheinander drei Commits:
- Füge
doc.mdmit der NachrichtAdd dochinzu. - Hänge
secondandoc.mdan und führe einen Commit mit der NachrichtSecond draftdurch. - Hänge
thirdandoc.mdan und führe einen Commit mit der NachrichtThird draftdurch.
Setze den Branch mit einem Hard-Reset auf den allerersten Commit zurück, und zwar mit HEAD~2. Gib den Inhalt von doc.md aus.
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-StatusRückblick – Erstes Repository5Dateien ignorieren
Warum Dateien ignorierenGitignore-MusterIgnore-Regeln prüfenZusammenfassung – Sauberes Repo3Änderungen verfolgen
Der Staging-BereichGit AddGit CommitEine verfolgte Datei ändernGit LogRückblick – Erste Commits6Rezeptseiten-Projekt
ProjektübersichtInitialisieren und Ignorieren9Änderungen rückgängig machen
Nicht bereitgestellte Änderungen verwerfenEine Datei aus der Bereitstellung entfernenDen letzten Commit ändernEinen Commit rückgängig machenEinen Branch zurücksetzenZusammenfassung – ZeitmaschineÜbe selbstständig: Terminal-Playground