commande git restore

Opérations de base Git


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

OptionsDescriptionExemple 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
--stagedRestaure 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
--worktreeRestaure le contenu des fichiers dans l'arbre de travail à l'état actuel de l'arbre de travail.git restore --worktree file.txt
--oursEn cas de conflit de fusion, restaure la version de la branche actuelle (c'est-à-dire la version « ours »).git restore --ours file.txt
--theirsEn 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-runAfficher les fichiers et les chemins qui seraient restaurés, sans effectuer réellement la restauration.git restore --dry-run
-s, --sourceet--sourceIdem, utilisé pour restaurer des fichiers depuis un commit spécifié.git restore -s HEAD~1 file.txt
-W, --worktreeRestaurer 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, --stagedRestaurer 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


Opérations de base Git

autres extensions