Revert en français

Introduction au revert

Dans le monde du développement avec Git, la commande revert joue un rôle crucial. Elle permet de créer un nouvel engagement qui annule les modifications apportées par un engagement précédent. Considérée comme une méthode d'annulation sûre, elle est particulièrement utile lorsque l'on travaille en équipe, car elle préserve l'historique des engagements. Il est essentiel de ne pas confondre cette commande avec reset, qui modifie l’historique existant et peut entraîner des pertes de données.

Syntaxe de la commande revert

La commande pour effectuer une annulation est structurée comme suit :

git revert 

Ici, la référence de commit est le hash unique attribué à chaque engagement, qui est une combinaison de lettres et de chiffres. Cette référence peut souvent être raccourcie pour faciliter son utilisation. Par exemple :
a63b1329066c8ddd95c8d7bb201bacfb8b18e167 peut être simplifié en a63b132.

Exemple d'utilisation

Prenons un scénario où quatre commits ont été réalisés, chacun ajoutant un fichier différent. Pour consulter les commits, on peut exécuter :

git reflog

Le résultat affichera chaque engagement ainsi que les fichiers associés. Si le développeur de fichier 2 décide de le supprimer parce qu'il n'est plus nécessaire, il peut utiliser la commande revert avec le hash de fichier 2.

git revert f85ef36

Alternativement, il est aussi possible de référencer le commit via HEAD. En consultant à nouveau le log, fichier 2 se trouve à HEAD@{2}, et il peut être annulé comme suit :

git revert HEAD~2

L'exécution de cette commande ouvrira un éditeur de message pour ajuster la raison de l'annulation. Une fois que le message est sauvegardé, le statut d'annulation de fichier 2 peut être vérifié :

git reflog

Cette commande montrera l'historique des engagements, indiquant que la commande revert a été exécutée avec succès.

Options supplémentaires de revert

La commande revert dispose également de plusieurs options :
- -e ou --edit : Ouvre un prompt pour modifier le message de l'engagement avant de procéder à l'annulation (c'est l'option par défaut).
- --no-edit : Ignore la modification du message de commit.
- -n ou --no-commit : Effectue les changements sans finaliser le commit.