Débutant · 6 min de lecture
restore, reset, revert : lequel choisir ?
Trois commandes qui « annulent », trois résultats très différents. La fiche à laquelle tu reviendras.
restore : annuler des modifications de fichiers
Remet un fichier dans son dernier état commité (ou indexé). L'historique ne bouge pas. Sans --staged, tes modifications non commitées de ce fichier sont perdues.
$ git restore --staged path/to/file$ git restore path/to/file
reset : reculer la branche
Déplace ta branche sur un commit plus ancien. --soft garde les modifications indexées, --mixed (par défaut) les garde non indexées, --hard les jette. Ça réécrit l'historique : uniquement sur des commits locaux.
$ git reset --soft HEAD~1
revert : annuler un commit publiquement
Crée un nouveau commit qui fait l'inverse d'un ancien. L'historique est préservé, donc c'est sûr sur les branches partagées. En cas de doute sur main : revert.
$ git revert <commit>