Scénario habituel nécessitant l’utilisation d’un svn revert
: vous avez modifié un fichier (géré par SVN) sans le vouloir (ou vous avez changé d’avis !) et vous voulez retourner à la version actuellement géré par SVN. Un appel svn revert <nom du fichier>
écrasera ce fichier avec la dernière version commitée sur SVN.
On peut faire la même chose avec le gestionnaire de version Git, sauf que cette fois-ci la commande à utiliser est git revert HEAD~<nombre de commit à effacer>
, sans oublier de faire un push
par la suite. Sam & Max explique ceci très bien dans un billet git revert pour annuler proprement le dernier commit.
Auparavant, j’utilisais git reset --hard <nom du fichier>
! Ou sur Eclipse avec le plugin EGit : clic droit > team > Reset et sélectionner l’option « hard ». C’est un petit peu différent vu que cette fois-ci on revient à la version d’une autre branche (par exemple : la branche sur le répertoire « origin ») alors qu’avec « revert », on reste en local. Mais avec « reset », il est possible de ne toucher qu’un seul fichier !
En fait, il est possible d’aller un peu plus sur ce sujet avec Git, mais un article l’explique déjà très sur Git Community Book : Undoing in Git – Reset, Checkout and Revert.