Comment restaurer un fichier supprimé dans Git
La bonne commande dépend d'une chose : jusqu'où la suppression est arrivée. Voici les trois cas, comment trouver le commit qui a supprimé un fichier et ce que Git ne peut pas ramener.
Écrit par Kodmora
L'éditeur de logiciels derrière GitTree
- Annuler et récupérer
- Historique de validation
Sur cette page
Pour restaurer un fichier supprimé que vous n'avez pas encore validé, exécutez `git restore path/to/file`. Si la suppression est déjà dans une validation, recherchez cette validation avec git log --diff-filter=D -- path/to/file, puis exécutez git restore --source=<commit>^ -- path/to/file. Git peut récupérer tout ce qu'il a stocké, donc un fichier validé est presque toujours récupérable.
| Que s'est-il passé | Commande |
|---|---|
| Supprimé, non indexé | git restore path/to/file |
| Supprimé et indexé | git restore --staged --worktree path/to/file |
| Supprimé dans un commit | git restore --source=<commit>^ -- path/to/file |
Comment restaurer un fichier que je viens de supprimer ?
Si git status répertorie le fichier sous « Modifications non planifiées pour la validation », recopiez-le depuis l'index :
git restore src/app.tsComment restaurer un fichier après git rm ?
git rm supprime le fichier et organise la suppression, de sorte qu'il s'affiche sous « Modifications à valider ». Restaurez l'index et le dossier de travail à partir de HEAD :
git restore --staged --worktree src/app.tsComment restaurer un fichier supprimé lors d’un commit antérieur ?
Recherchez d’abord le commit qui l’a supprimé. --diff-filter=D affiche uniquement les suppressions :
git log --oneline --diff-filter=D -- src/app.tsCe commit n'a plus le fichier, mais son parent l'a. Le ^ signifie « le parent de », cela restaure donc la dernière version avant la suppression :
git restore --source=4f2a9c1^ -- src/app.tsLe fichier revient dans votre dossier de travail en tant que nouvelle modification. Révisez-le, puis préparez-le et validez-le comme n'importe quelle autre modification. Sur un Git antérieur à 2.23, git checkout 4f2a9c1^ -- src/app.ts fait le même travail et prépare également le fichier.
Que faire si je ne me souviens pas du chemin complet ?
Recherchez dans chaque branche le nom du fichier. Conservez les guillemets afin que Git développe le modèle plutôt que votre shell :
git log --all --diff-filter=D --name-only --oneline -- "**/app.ts"Qu’est-ce que Git ne peut pas rapporter ?
- Un fichier qui n'a jamais été préparé ou validé. Git ne l'a jamais stocké. Vérifiez l'historique local de votre éditeur ou la sauvegarde de votre système.
- Fichiers supprimés par `git clean`. Ils n'ont pas été suivis, Git n'en conserve donc aucune copie.
- Modifications non planifiées remplacées par `git restore`. La commande les écrase, alors exécutez-la uniquement lorsque vous en avez l'intention.
Un fichier qui a été transféré une fois puis perdu peut parfois être retrouvé avec git fsck --lost-found, qui répertorie les blobs vers lesquels rien ne pointe. L'article sur l'annulation d'une réinitialisation, d'un rebase ou d'un commit couvre les commits perdus, la leçon sur l'historique des fichiers et le blame montre comment suivre un fichier dans le temps, et le guide sur la suppression et le nettoyage explique ce que GitTree enregistre en premier.
Comment récupérer un fichier dans GitTree
Appuyez d'abord sur Annuler
Si GitTree a supprimé ou nettoyé le fichier, appuyez sur Annuler dans la barre d'outils. Il enregistre un instantané de récupération sous
refs/ogt/trashavant de supprimer quoi que ce soit.Rechercher dans l'historique
Utilisez la recherche de graphique de validation pour trouver la validation qui a touché le fichier, puis ouvrez cette validation pour lire sa version.
Utilisez Lost & Found pour les commits perdus
Choisissez Outils → Lost & Found pour rechercher les commits sur lesquels aucune branche ne pointe plus.

Questions fréquemment posées
Quelle est la différence entre git restaurer et git checkout ?
git restore a été ajouté dans Git 2.23 pour effectuer une seule tâche : restaurer des fichiers. git checkout change également de branche, ce qui facilite une utilisation abusive.
Comment puis-je voir quand un fichier a été supprimé ?
Exécutez git log --diff-filter=D -- path/to/file. Il répertorie le commit qui l'a supprimé, avec son auteur et sa date.
Pourquoi git recovery indique-t-il que la spécification du chemin ne correspond pas ?
Git ne connaît pas ce chemin à la source que vous avez choisie. Si le fichier a été supprimé dans un commit, restaurez-le à partir du parent de ce commit avec --source=<commit>^.
Puis-je restaurer un dossier supprimé ?
Oui. Transmettez le chemin du dossier au lieu d'un fichier, par exemple git restore --source=<commit>^ -- src/utils.
Un fichier restauré est-il automatiquement validé ?
Non. Cela apparaît comme un changement dans votre dossier de travail. Indexez et validez-le lorsque vous êtes prêt.
Sources
Les allégations concernant d'autres produits ont été vérifiées par rapport à leurs pages officielles sur 7 novembre 2026. Les prix et les fonctionnalités changent ; les pages des fournisseurs sont la source de vérité.