Accueil·Commandes du terminal

git revert

git

Syntaxe

git revert [-n] <commit>

Annule un commit en ajoutant un commit inverse ; l'historique reste intact, contrairement à reset qui déplace le pointeur, donc ce qui est déjà poussé se défait avec revert.

Options courantes

OptionSignification
-nstage the inverse change without committing
-m <parent>which side to keep when reverting a merge commit
--no-editaccept the generated message
--continuefinish after resolving conflicts
--abortcancel and go back

Exemples

git revert a1b2c3d

adds a new commit that undoes that one

git revert --no-edit HEAD

undoes the last commit without opening an editor

git revert -m 1 <merge-commit>

undoes a merge, keeping the first parent

Ce qui embrouille, c’est qu’annuler a plusieurs formes : déplacer là où pointe une branche n’est pas ajouter un commit qui l’inverse.

Comment lire

  • Les crochets [ ] marquent une partie facultative.
  • Les points de suspension … signifient qu’on peut en mettre plusieurs.
  • Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.

Questions fréquentes

Q. Que fait git revert ?

Annule un commit en ajoutant un commit inverse ; l'historique reste intact, contrairement à reset qui déplace le pointeur, donc ce qui est déjà poussé se défait avec revert.

Q. Comment l’écrire ?

git revert [-n] <commit> — les crochets marquent ce qui est facultatif.

Q. Combien d’options valent la peine ?

Il y en a 5 ici ; la liste complète est dans man git. Cette commande relève de git.

Commandes liées

page man: man git-revert