Accueil·Commandes du terminal

git restore

git

Syntaxe

git restore [--staged] [-s <commit>] <pathspec>

La commande de git 2.23 qui restaure le contenu des fichiers ; par défaut elle écrase votre fichier et les modifications non commitées disparaissent, alors que --staged se contente de désindexer.

Options courantes

OptionSignification
--stagedunstage the file but keep your edits
--worktreereset the file on disk; this is the default
--staged --worktreeboth: throw the edits away and unstage
-s <commit>take the content from that commit instead of the index
-pchoose hunk by hunk

Exemples

git restore src/app.ts

wipes uncommitted edits to that file, with no way back

git restore --staged src/app.ts

takes it out of the staging area, edits intact

git restore -s HEAD~2 src/app.ts

brings back the version from two commits ago

Ce qui embrouille, c’est qu’annuler a plusieurs formes : déplacer là où pointe une branche n’est pas ajouter un commit qui l’inverse.

Comment lire

  • Les crochets [ ] marquent une partie facultative.
  • Les points de suspension … signifient qu’on peut en mettre plusieurs.
  • Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.

Questions fréquentes

Q. Que fait git restore ?

La commande de git 2.23 qui restaure le contenu des fichiers ; par défaut elle écrase votre fichier et les modifications non commitées disparaissent, alors que --staged se contente de désindexer.

Q. Comment l’écrire ?

git restore [--staged] [-s <commit>] <pathspec> — les crochets marquent ce qui est facultatif.

Q. Combien d’options valent la peine ?

Il y en a 5 ici ; la liste complète est dans man git. Cette commande relève de git.

Commandes liées

page man: man git-restore