Git 🌙
Français ▾ Topics ▾ Latest version ▾ git-restore last updated in 2.43.0

NOM

git-restore - Restaure les fichier d’un arbre de travail

SYNOPSIS

git restore [<options>] [--source=<arbre>] [--staged] [--worktree] [--] <spec-de-chemin>…​
git restore [<options>] [--source=<arbre>] [--staged] [--worktree] --pathspec-from-file=<fichier> [--pathspec-file-nul]
git restore (-p|--patch) [<options>] [--source=<arbre>] [--staged] [--worktree] [--] [<spec-de-chemin>…​]

DESCRIPTION

Restaurer les chemins spĂ©cifiĂ©s dans l’arbre de travail avec certains contenus d’une source de restauration. Si un chemin est suivi mais n’existe pas dans la source de restauration, il sera supprimĂ© pour correspondre Ă  la source.

La commande peut aussi ĂŞtre utilisĂ©e pour restaurer le contenu de l’index avec --staged, ou restaurer Ă  la fois l’arbre de travail et l’index avec --staged --worktree.

Par dĂ©faut, si --staged est donnĂ©, le contenu est restaurĂ© depuis HEAD, sinon depuis l’index. Utilisez --source pour restaurer Ă  partir d’un commit diffĂ©rent.

Voir « Reset, restore et revert » dans git[1] pour les différences entre les trois commandes.

CETTE COMMANDE EST EXPÉRIMENTALE. LE COMPORTEMENT PEUT CHANGER.

OPTIONS

-s <arbre>
--source=<arbre>

Restaurer les fichiers de l’arbre de travail avec le contenu de l’arbre donnĂ©. Il est courant de spĂ©cifier l’arbre source en nommant un commit, une branche ou une Ă©tiquette qui lui est associĂ©e.

Si ce n’est pas spĂ©cifiĂ©, le contenu est restaurĂ© depuis HEAD. Si --staged est donnĂ© sinon, depuis l’index.

Autre cas spĂ©cial supplĂ©mentaire, vous pouvez utiliser « A…​B » comme raccourci pour la base de fusion de A et B s’il y a exactement une seule base de fusion. Vous pouvez ne pas spĂ©cifier A ou B, auquel cas ce sera HEAD par dĂ©faut.

-p
--patch

Sélectionner interactivement les sections dans la différence entre la source de restauration et location de restauration. Voir la section « Mode Interactif » de git-add[1] pour apprendre à utiliser le mode --patch.

Notez que --patch peut accepter une absence de spécificateur de chemin et demandera de restaurer tous les chemins modifiés.

-W
--worktree
-S
--staged

SpĂ©cifier l’emplacement de restauration. Si aucune option n’est spĂ©cifiĂ©e, l’arbre de travail est restaurĂ© par dĂ©faut. En spĂ©cifiant --staged, seul l’index sera restaurĂ©. SpĂ©cifier les deux restaure les deux.

-q
--quiet

Silencieux, supprimer les messages d’Ă©tat. Implique --no-progress.

--progress
--no-progress

L’Ă©tat d’avancement est affichĂ© sur la sortie standard d’erreur par dĂ©faut quand elle est attachĂ©e Ă  un terminal, Ă  moins que --quiet ne soit spĂ©cifiĂ©. Cette bascule active l’Ă©tat d’avancement mĂŞme sans ĂŞtre attachĂ© Ă  un terminal, indĂ©pendamment de --quiet.

--ours
--theirs

Lors de la restauration de fichiers dans l’arbre de travail, utiliser l’Ă©tat #2 (ours, le nĂ´tre) ou #3 (theirs, le leur) pour les chemins non fusionnĂ©s. Cette option ne peut pas ĂŞtre utilisĂ©e lors de l’extraction des chemins d’un arbre-esque (c.-Ă -d. avec l’option --source).

Veuillez noter que pendant git rebase et git pull --rebase, ours et theirs peuvent sembler Ă©changĂ©s. Voir l’explication des mĂŞmes options dans git-checkout[1] pour plus de dĂ©tails.

-m
--merge

Lors de la restauration de l’arbre de travail depuis l’index, rĂ©crĂ©er la fusion en conflit dans les chemins non fusionnĂ©s. Cette option ne peut pas ĂŞtre utilisĂ©e lors de l’extraction des chemins d’un arbre-esque (c.-Ă -d. avec l’option --source).

--conflict=<style>

Identique Ă  l’option --merge ci-dessus, mais la manière dont les sections en conflits sont prĂ©sentĂ©es est modifiĂ©e, en surchargeant la variable de configuration merge.conflictStyle. Les valeurs possibles sont merge (fusion, par dĂ©faut), diff3 et zdiff3.

--ignore-unmerged

Lors de la restauration des fichiers sur l’arbre de travail à partir de l’index, ne pas interrompre l’opération s’il y a des entrées non fusionnées et qu’aucune option --ours, --theirs, --merge ou --conflict n’est spécifiée. Les chemins non-fusionnés sur l’arbre de travail sont laissés seuls.

--ignore-skip-worktree-bits

En mode d’extraction clairsemĂ©, le comportement par dĂ©faut met seulement Ă  jour les entrĂ©es correspondant Ă  <spĂ©cificateur-de-chemin> et aux motifs clairsemĂ©s dans $GIT_DIR/info/sparse-checkout. Cette option ignore les motifs clairsemĂ©s et restaure tous les fichiers de <spĂ©cificateur-de-chemin>.

--recurse-submodules
--no-recurse-submodules

Si <pathspec> nomme un sous-module actif et que l’emplacement de la restauration inclut l’arbre de travail, le sous-module ne sera mis Ă  jour que si cette option est donnĂ©e, auquel cas son arbre de travail sera restaurĂ© au commit enregistrĂ© dans le superprojet, et toute modification locale sera Ă©crasĂ©e. Si rien (ou --no-recurse-submodules) n’est utilisĂ©, les arbres de travail des sous-modules ne seront pas mis Ă  jour. Tout comme git-checkout[1], cela dĂ©tachera le HEAD du sous-module.

--overlay
--no-overlay

En mode sur-Ă©criture, la commande ne supprime jamais les fichiers lors de la restauration. En mode sans sur-Ă©criture, les fichiers suivis qui n’apparaissent pas dans l’arbre --source sont supprimĂ©s, pour qu’ils correspondent exactement Ă  <arbre>. La valeur par dĂ©faut est le mode sans sur-Ă©criture.

--pathspec-from-file=<fichier>

Le spĂ©cificateur de chemin est passĂ© dans <fichier> au lieu des arguments de la ligne de commande. Si <fichier> vaut - alors l’entrĂ©e standard est utilisĂ©e. Les Ă©lĂ©ments du spĂ©cificateur de chemin sont sĂ©parĂ©s par LF ou CR/LF. Les Ă©lĂ©ments du spĂ©cificateur de chemin peuvent ĂŞtre citĂ©s comme expliquĂ© pour la variable de configuration core.quotePath (voir git-config[1]). Voir aussi l’option --pathspec-file-nul et l’option globale --literal-pathspecs.

--pathspec-file-nul

Uniquement significatif avec --pathspec-from-file. Les éléments du spécificateur de chemin sont séparés par le caractère NUL et tous les autres caractères sont utilisés littéralement (y compris les retours à la ligne et les guillemets).

--

Ne pas interpréter les arguments qui suivent comme options.

<spĂ©cificateur de chemin>…​

Limite les chemins affectĂ©s par l’opĂ©ration.

Pour plus de dĂ©tail, voir l’entrĂ©e spĂ©cificateur de chemin dans gitglossary[7].

EXEMPLES

La sĂ©quence suivante bascule sur la branche master, ramène le fichier Makefile Ă  deux rĂ©visions en arrière, supprime hello.c par erreur et le rĂ©cupère de l’index.

$ git switch master
$ git restore --source master~2 Makefile  (1)
$ rm -f hello.c
$ git restore hello.c                     (2)
  1. prend un fichier depuis un autre commit

  2. restaure hello.c depuis l’index

Si vous souhaitez restaurer tous les fichiers source C pour correspondre Ă  la version de l’index, vous pouvez lancer

$ git restore '*.c'

Notez les guillemets autour de *.c. Le fichier hello.c sera aussi restaurĂ©, mĂŞme s’il n’est plus dans l’arbre de travail, parce que le patron de fichier est utilisĂ© pour trouver les entrĂ©es dans l’index (et non dans l’arbre de travail par le shell).

Pour restaurer tous les fichiers du répertoire actuel

$ git restore .

ou pour restaurer tous les fichiers de l’arbre de travail avec la magie du spĂ©cificateur de chemin top (voir gitglossary[7])

$ git restore :/

Pour restaurer un fichier dans l’index pour qu’il corresponde Ă  la version dans HEAD (c’est la mĂŞme chose que d’utiliser git-reset[1])

$ git restore --staged hello.c

ou vous pouvez restaurer Ă  la fois l’index et l’arbre de travail (c’est la mĂŞme chose que d’utiliser git-checkout[1])

$ git restore --source=HEAD --staged --worktree hello.c

ou la forme courte qui est plus pratique mais moins lisible :

$ git restore -s@ -SW hello.c

GIT

Fait partie de la suite git[1]

TRADUCTION

Cette page de manuel a été traduite par Jean-Noël Avila <jn.avila AT free DOT fr> et les membres du projet git-manpages-l10n. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le site https://github.com/jnavila/git-manpages-l10n .

scroll-to-top