PROJET AUTOBLOG


Sam et Max

source: Sam et Max

⇐ retour index

git revert pour annuler proprement le dernier commit

mercredi 14 novembre 2012 à 16:18

On ne peut pas à proprement parler supprimer un commit de Git. Mais on peut l’inverser proprement.

Assurez-vous d’avoir une copie de travail propre (sans files to be commited ou conflits, quitte à stasher). Puis:

git revert HEAD~1

Cette commande va immédiatement prendre le précédent commit, créer une commit exactement inverse, et l’appliquer.

Si vous aviez: C1 — C2 — C3

Et que vous vouliez annuler C3.

Vous allez vous retrouver avec: C1 — C2 — C3 — C4.

Avec C4 comme exacte inverse de C3.

Si vous voulez annuler plus d’un commit: git revert HEAD~nombre-de-commits

Y a plus qu’à pusher !

Ceci est complètement différent de git commit --amend qui lui remplace le commit précédent par le commit actuel à condition de ne pas avoir pushé le commit précédent.

Avec amend, si vous aviez:

Si vous aviez: C1 — C2 — C3

Et que vous vouliez annuler C3.

Vous allez vous retrouver avec: C1 — C2 — C4

Mais il faut créer C4 de toute pièce.

revert, c’est comme Cabrel: c’était mieux avant.
amend, c’est comme Britney: ooups, I did it again.