Einen Commit rückgängig machen (revert)
Teil des Abschnitts Versionsverwaltung der Terminal-Journey von Coddy — Lektion 43 von 58.
Wenn ein Commit bereits mit anderen geteilt wurde, ist das Ändern (Amending) riskant, da die ursprüngliche ID verloren geht. Die sicherere Option ist git revert.
git revert HEADgit revert erstellt einen brandneuen Commit, der die Änderungen des Ziel-Commits rückgängig macht, wobei das Original erhalten bleibt. Deine Historie liest sich wie folgt: „wir haben X gemacht, dann haben wir X rückgängig gemacht“.
Sie können jeden Commit anhand der ID rückgängig machen, nicht nur den neuesten:
git revert a1b2c3dVerwenden Sie --no-edit, um den Editor zu überspringen und die Standard-Revert-Nachricht zu akzeptieren:
git revert --no-edit HEADDie Standardnachricht sieht aus wie Revert "Original subject", wobei die ursprüngliche Nachricht im Textkörper wiederholt wird.
Aufgabe
EinfachDer Ordner enthält app.txt. Initialisiere das Repository und erstelle zwei Commits:
- Füge
app.txtmit der NachrichtAdd apphinzu. - Hänge
brokenanapp.txtan und committe mit der NachrichtAdd broken line.
Mache den letzten Commit rückgängig (ohne Editor), um die fehlerhafte Zeile zu entfernen. Gib den Inhalt von app.txt aus.
Spickzettel
git revert erstellt einen neuen Commit, der die Änderungen eines Ziel-Commits rückgängig macht und dabei die Historie bewahrt:
git revert HEAD # den neuesten Commit rückgängig machen
git revert a1b2c3d # einen beliebigen Commit per ID rückgängig machen
git revert --no-edit HEAD # Editor überspringen, Standardnachricht verwendenDie Standard-Revert-Nachricht folgt dem Format: Revert "Original subject".
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