git revert

Mit git revert kann man Commits rückgängig machen:

Dabei werden einfach alle Diffs - also Änderungen - in ihrer Logik invertiert.

Hinzugefügte Zeilen werden also wieder entfernt und umgekehrt gelöschte Zeilen wieder hergestellt. Anm.: hier Begriff Zeilen zur vereinfachten Darstellung.

Die Revert-Commit-Messages enthalten die zurückgenommenen Änderungen und den Hinweis Revert:

* eef31c3 (HEAD -> testbranch) Revert "further new stuff added in testbranch - maybe later reverted?"
* defb51c further new stuff added in testbranch - maybe later reverted?

Es lassen sich auch einzelne Dateien eines Commits Reverten:

git show -R 3329661 -- LICENSE | git apply --index
git commit -m 'Revert change to LICENSE from 3329661'

Analyse: aus einem Commit wird eine einzelne Datei im -R-(Reverse)-Modus angezeigt und mittels git apply weitergeleitet. Dann findet der Commit statt.

Alternative: manuelles Auschecken einer Datei und ein individuelle add und commit.

Zusammenfassung:

git revert macht Änderungen lediglich rückgängig - die Commits bleiben im Git!