Ein Revert nimmt die Änderung eines früheren Commits zurück, indem er einen neuen Commit schreibt, der genau das Gegenteil tut. Die Geschichte wird dadurch länger und nicht kürzer: Beides bleibt sichtbar, die Änderung und ihre Rücknahme.
- Revert
Ein neuer Commit, der die Änderung eines früheren rückgängig macht.
Beispiel: „Nach dem Ausfall am Freitag ein Revert, die Fehlersuche kam am Montag.“Englisch to revert heißt zurücknehmen. Geschrieben als
git revertmit der Prüfsumme des betroffenen Commits.Abgrenzung zum Zurücksetzen:
git resetverschiebt den Zeiger und lässt Commits verschwinden. Der Revert fasst die Geschichte nicht an.
Warum ein Revert dem Löschen vorzuziehen ist
Weil die Geschichte ein Protokoll ist. Nach einem Revert ist nachvollziehbar, dass es den Versuch gab, dass er zurückgenommen wurde und wann. Nach einem Löschen sieht es aus, als hätte es ihn nie gegeben.
Dazu kommt der praktische Grund: Ein Revert braucht keinen Force Push und richtet deshalb bei niemandem Schaden an, der den Stand schon geholt hat.
Wann ein Revert die richtige erste Maßnahme ist
Immer dann, wenn etwas in der Produktion kaputt ist und die Ursache noch unklar. Der Revert stellt den funktionierenden Zustand in Minuten wieder her, und die Fehlersuche findet danach in Ruhe statt.
Die Reihenfolge ist der Punkt: erst zurück zum funktionierenden Stand, dann verstehen. Umgekehrt sucht man unter Druck und mit Zuschauern.
Was beim Revert eines Merge zu beachten ist
Ein Merge-Commit hat zwei Vorgänger, und Git muss wissen, welcher von beiden der Hauptstrang war. Ohne diese Angabe verweigert es die Arbeit.
Unangenehm wird es, wenn derselbe Branch später erneut zusammengeführt werden soll. Git betrachtet ihn als bereits übernommen und bringt die Änderungen kein zweites Mal mit; dann hilft nur, den Revert seinerseits zurückzunehmen.