Leçon 11 / 20

Retirer un fichier de la préparation

10 min Git — versionner son code Gratuit

Objectif : Retirer un fichier de la zone de préparation tout en conservant ses modifications dans le dossier de travail.

Vous avez préparé un fichier pour un commit, puis vous constatez que vous ne souhaitez pas encore l’inclure. Le retirer de la préparation ne doit pas effacer votre travail : vous allez déplacer la modification hors de la zone de préparation, tout en la conservant dans le fichier.

Dans la leçon « Écarter une modification non préparée », vous avez vu comment restaurer le contenu d’un fichier et donc écarter une modification. Ici, l’objectif est différent : vous gardez la modification, mais vous la retirez de la prochaine version à enregistrer.

Préparer une modification de README.md

Le dépôt suivi-site est propre au début de cette manipulation. Ajoutez une note provisoire à README.md, puis préparez ce fichier avec git add. Cette modification sert uniquement à illustrer le retrait de la préparation ; aucun autre fichier du site n’est modifié.

Terminal
cd suivi-site
printf '\nNote de travail : préciser la prochaine vérification.\n' >> README.md
git add README.md
git status
Résultat attendu
Sur la branche main
Modifications à valider :
  (utilisez "git restore --staged <fichier>..." pour désindexer)
	modifié : README.md

La sortie indique que README.md est préparé. La commande suivante le retire de la préparation, sans revenir sur le contenu que vous venez d’ajouter. Le chemin du fichier doit correspondre à celui affiché dans votre dépôt ; ici, il s’agit de README.md.

Retirer le fichier de la préparation

Terminal
git restore --staged README.md
git status
Résultat attendu
Sur la branche main
Modifications non préparées pour le commit :
  (utilisez "git add <fichier>..." pour mettre à jour ce qui sera validé)
	modifié : README.md

L’option --staged demande à Git de remettre la zone de préparation à l’état du dernier commit pour ce fichier. Elle ne remet pas le fichier lui-même à cet état : la note reste dans README.md, mais n’est plus incluse dans la prochaine version tant que vous ne la préparez pas de nouveau.

Terminal
tail -n 3 README.md
Résultat attendu
[Dernières lignes existantes de README.md]
Note de travail : préciser la prochaine vérification.

La commande de vérification affiche la note dans le fichier : votre modification est conservée. La sortie de git status confirme en parallèle qu’elle n’est plus préparée. Vous pouvez donc poursuivre votre travail, la modifier encore, ou la préparer ultérieurement lorsque vous déciderez de l’inclure.

À retenir

  • Utilisez `git restore --staged ` pour retirer un fichier de la préparation.
  • La commande conserve les modifications dans le dossier de travail.
  • Vérifiez l’état obtenu avec `git status` : le fichier doit apparaître comme modifié et non préparé.
  • Aucun commit n’est créé par cette opération.

Dans l’exercice, la note reste volontairement dans README.md et n’est pas enregistrée dans un commit. La prochaine leçon abordera une autre manière de corriger l’historique, lorsqu’un commit a déjà été partagé.

Envie d'aller plus loin ?

Les cours Enovatic sont gratuits et le resteront. Si vous cherchez un accompagnement encadré, nos formations professionnelles sont animées par les mêmes formateurs.