Git : La commande Restore en français
Comprendre la commande Restore
La commande git restore
permet aux développeurs de ramener des fichiers à un état spécifique. Elle est particulièrement utile pour annuler les modifications apportées aux fichiers, que ce soit dans le répertoire de travail ou dans la zone de staging. Ce mécanisme d'annulation est essentiel, surtout lorsqu'il s'agit de revenir sur des modifications, qu'elles soient préparées pour un commit ou pas.
Syntaxe de la commande
La structure de base de la commande git restore
se présente ainsi :
git restore --
En plus de cela, il y a neuf options supplémentaires qu'on peut utiliser avec git restore
:
-s <tree>
ou--source=<tree>
: Restitue les fichiers du répertoire de travail avec le contenu provenant d'une arborescence spécifiée.-p
ou--patch
: Permet une sélection interactive des segments de différence entre la source de restauration et l'emplacement de restauration.-W
ou--worktree
et-S
ou--staged
: Définissent l'emplacement de restauration. Si aucune option n'est spécifiée, c'est le répertoire de travail qui est restauré par défaut.-q
ou--quiet
: Supprime les messages de retour et implique--no-progress
.--progress
et--no-progress
: Contrôlent le rapport d'état de progression.--ours
et--theirs
: Utilisés lors de la restauration des fichiers dans le répertoire de travail depuis l'index, afin d'utiliser l'étape #2 (le nôtre) ou #3 (le leur) pour des chemins non fusionnés.-m
ou--merge
: Recrée la fusion conflictuelle dans les chemins non fusionnés lorsque l'on restaure des fichiers dans le répertoire de travail depuis l'index.--conflict=<style>
: Modifie la présentation des segments conflictuels, en contournant la variable de configurationmerge.conflictStyle
.--ignore-unmerged
: Permet de restaurer des fichiers dans le répertoire de travail depuis l'index sans cesser à cause d'entrées non fusionnées.
Exemple d'utilisation
Prenons un exemple. La commande git status
initiale indique qu'il y a des changements dans le fichier index.html
qui n'ont pas été mis en staging pour un commit. Elle suggère d'utiliser git add
pour ajouter ces modifications. Cependant, l'utilisateur préfère utiliser la commande git restore index.html
pour abandonner ces changements dans le répertoire de travail et rétablir le fichier à son dernier état validé. Après l'exécution de cette commande, en vérifiant à nouveau avec git status
, le répertoire de travail est maintenant propre, indiquant qu'il n'y a plus de modifications en attente et qu'il n'y a rien à valider.
$ git status
On branch main
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git restore ..." to discard changes in working directory)
modified: index.html
no changes added to commit (use "git add" and/or "git commit -a")
$ git restore index.html
$ git status
On branch main
nothing to commit, working tree clean