Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Commits Zurücksetzen | Änderungen Rückgängig Machen
Git-Grundlagen

Commits Zurücksetzen

Swipe um das Menü anzuzeigen

Im umfangreichen Bereich der Versionskontrolle mit Git tritt häufig das Szenario auf, dass Änderungen, die durch einen bestimmten Commit eingeführt wurden, rückgängig gemacht werden müssen. Gründe hierfür können das Entdecken eines Fehlers, die Erkenntnis, dass eine Funktion noch nicht produktionsreif ist, oder der Wunsch nach einer anderen Herangehensweise sein.

Glücklicherweise stellt Git den Befehl git revert zur Verfügung, um einen neuen Commit zu erstellen, der die durch den spezifischen Commit eingeführten Änderungen durch das Umkehren dieser Änderungen rückgängig macht.

Den letzten Commit rückgängig machen

Um den letzten Commit rückgängig zu machen, verwende folgenden Befehl:

git revert HEAD
Note
Hinweis

HEAD ist ein Zeiger auf den neuesten Commit im aktuellen Branch.

Da es nur einen Branch gibt, zeigt HEAD auf den neuesten Commit. Dieser Befehl erstellt einen neuen Commit, der die Änderungen des vorherigen rückgängig macht. Git öffnet den Standard-Texteditor, um bei Bedarf die Commit-Nachricht zu bearbeiten. Speichern und schließen Sie den Editor, um das Revert abzuschließen.

Beispiel-Workflow

Fügen Sie zunächst eine neue Zeile zur Datei recipe.txt mit dem nächsten Schritt hinzu und committen Sie die Änderung direkt, ohne den Staging-Bereich zu verwenden:

echo "8. Peel the eggs" > recipe.txt
git commit -a -m "Add another step to the recipe"
Änderung und direkter Commit

Zeige nun die detaillierten Informationen dieses Commits mit dem Befehl git show und HEAD an:

git show HEAD
Der neueste Commit

Ups, alle vorherigen Zeilen wurden gelöscht, weil der falsche Ausgabebefehl verwendet wurde — > statt >>, wodurch die Datei überschrieben wurde. Kein Problem; mit dem Befehl git revert lassen sich diese Änderungen im neuesten Commit rückgängig machen:

git revert HEAD
Rückgängig machen des neuesten Commits

Wie Sie sehen, öffnet sich der Standard-Texteditor (Vim in diesem Fall) mit einer Standard-Commit-Nachricht. Lassen Sie diese vorerst unverändert, aber in realen Projekten wird empfohlen, den Grund für das Zurücksetzen anzugeben, zum Beispiel:

Revert "Add another step to the recipe"
Reason for rollback: the recipe.txt was overwritten.    
This reverts commit b1148490543882f038069a0233a5d7e0b33f6221.
Note
Hinweis

Um Änderungen zu speichern und Vim zu verlassen, die Escape-Taste und zweimal den Großbuchstaben Z drücken.

Abschließend die Änderungen in den beiden letzten Commits anzeigen:

git log -p -2
Die zwei neuesten Commits

Im Grunde wurde erwartungsgemäß ein neuer Commit mit den umgekehrten Änderungen erstellt.

Note
Hinweis

Mit den Pfeiltasten nach oben oder unten scrollen und mit der q-Taste beenden.

question mark

Was bewirkt der Befehl git revert HEAD in Git?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 3. Kapitel 4
some-alt