commande git restore
git restore La commande est utilisée pour restaurer ou annuler les modifications apportées aux fichiers.
git restoreLa commande a été introduite dans Git version 2.23 pour simplifier et améliorer les opérations de restauration de fichiers. Comparée aux anciennes commandes (telles quegit checkoutetgit reset), elle se concentre davantage sur la restauration du contenu des fichiers et de l'état de l'arbre de travail.
git restoreElle peut restaurer des fichiers dans l'arbre de travail et la zone de préparation, et peut également être utilisée pour abandonner les modifications non validées.
Syntaxe de base
git restore [<options>] [<pathspec>...]
<pathspec>: Le chemin du fichier ou du répertoire à restaurer.<options>: Options de personnalisation du comportement de restauration.
Options courantes et utilisation
| Options | Description | Exemple d'utilisation |
|---|---|---|
--source=<commit> | Restaure le contenu des fichiers depuis un commit spécifié. Par défaut, HEAD, c'est-à-dire le commit actuel. | git restore --source=HEAD~1 file.txt |
--staged | Restaure le contenu des fichiers depuis la zone de préparation vers l'arbre de travail, plutôt que de restaurer le contenu dans l'arbre de travail. | git restore --staged file.txt |
--worktree | Restaure le contenu des fichiers dans l'arbre de travail à l'état actuel de l'arbre de travail. | git restore --worktree file.txt |
--ours | En cas de conflit de fusion, restaure la version de la branche actuelle (c'est-à-dire la version « ours »). | git restore --ours file.txt |
--theirs | En cas de conflit de fusion, restaure la version de l'autre branche (c'est-à-dire la version « theirs »). | git restore --theirs file.txt |
--conflict=<style> | Spécifie le style des conflits de fusion, par ex.mergeoudiff3。 | git restore --conflict=diff3 file.txt |
--dry-run | Afficher les fichiers et les chemins qui seraient restaurés, sans effectuer réellement la restauration. | git restore --dry-run |
-s, --source | et--sourceIdem, utilisé pour restaurer des fichiers depuis un commit spécifié. | git restore -s HEAD~1 file.txt |
-W, --worktree | Restaurer le contenu des fichiers dans l’arbre de travail à l’état actuel de l’arbre de travail (avec--worktreeidentique). | git restore -W file.txt |
-S, --staged | Restaurer le contenu des fichiers depuis la zone de préparation vers l’arbre de travail, plutôt que de restaurer le contenu dans l’arbre de travail (avec--stagedidentique). | git restore -S file.txt |
Exemple
Restaurer les fichiers dans l’arbre de travail
Restaurer les fichiers de l’arbre de travail à l’état du commit le plus récent (c’est-à-dire abandonner toutes les modifications non validées des fichiers) :
git restore file.txt
Restaurer les fichiers dans la zone de préparation
Restaurer les fichiers de la zone de préparation vers l’arbre de travail, ce qui revient à retirer les fichiers de la zone de préparation (sans effectuer de commit) :
git restore --staged file.txt
Restaurer les fichiers depuis un commit spécifié
Restaurer les fichiers depuis un commit spécifique (par ex., HEAD~1) :
git restore --source=HEAD~1 file.txt
Restaurer la version "ours" d’un fichier
En cas de conflit de fusion, restaurer la version de la branche actuelle (c’est-à-dire la version "ours") :
git restore --ours file.txt
Restaurer la version "theirs" d'un fichier
En cas de conflit de fusion, restaurer la version de l'autre branche (c'est-à-dire la version "theirs") :
git restore --theirs file.txt
Afficher les fichiers et les chemins à restaurer
Afficher les fichiers et les chemins qui seraient restaurés, sans effectuer réellement la restauration :
git restore --dry-run
Récupérer plusieurs fichiers
Restaurer plusieurs fichiers dans l'arborescence de travail :
git restore file1.txt file2.txt
autres extensions