Git: restore, checkout, reset ou revert? La bonne commande pour récupérer vos fichiers supprimés
- Accueil
- Astuces
- Récupération de données
- Git: restore, checkout, reset ou revert? La bonne commande pour récupérer vos fichiers supprimés
Résumé
git restore`, `checkout`, `reset` ou `revert`? Démêlez enfin ces commandes et comprenez leur impact réel sur votre historique. Découvrez comment choisir la bonne option selon votre situation, pour annuler vos modifications sans tout casser ni perdre vos données.
Table des matières

reset --hard malencontreux a effacé votre répertoire de travail, ou que vous avez accidentellement écrasé des modifications importantes avec checkout. La confusion autour des différences entre git restore, checkout, reset et revert ne fait qu’ajouter au problème: ces quatre commandes peuvent « annuler » quelque chose, mais utiliser la mauvaise peut effacer définitivement des heures de travail. Si vous êtes déjà resté figé devant votre terminal, ne sachant pas quelle commande peut réellement récupérer votre fichier supprimé sans endommager l’historique de votre dépôt, ce guide est fait pour vous. Vous allez découvrir ce que fait vraiment chaque commande, pour pouvoir récupérer vos données en toute confiance.| Commande | Portée (Arbre de travail / Index / HEAD) | Historique réécrit ? | Niveau de risque | Cas d’utilisation idéal |
|---|---|---|---|---|
| Arbre de travail, index | Nonn | Faible | Annuler en toute sécurité les modifications non indexées ou désindexer des fichiers |
| Arbre de travail | Nonn | Faible | Ancienne méthode pour restaurer un fichier depuis un commit ; |
| Index, HEAD (avec options) | Oui (peut réécrire l’historique local) | Élevé si | Annuler des commits locaux ; conserver ou supprimer les modifications selon les options |
| HEAD (crée un nouveau commit) | Nonnn (préserve l’historique) | Faible sur les branches partagées | Annuler un commit poussé en ajoutant un commit d’annulation |
git restore a été introduit pour séparer la restauration de fichiers de git checkout, qui sert aussi à changer de branche. Bien que git checkout -- {file} fonctionne toujours, git restore est plus sûr et plus clair, particulièrement pour les débutants.git reset), les anciens commits deviennent inaccessibles et peuvent être nettoyés par le ramasse-miettes. Sur les branches partagées, cela peut entraîner de sérieuses divergences. Pour les commits déjà poussés, utilisez toujours git revert.git reset --hard supprime des fichiers non commités. Dans ces cas rares, un outil de récupération de données spécialisé au niveau du disque peut parfois aider, mais le succès n’est pas garanti.



- Quatre modes d’analyse distincts pour différents types de pertes
- Reconnaît plus de 400 formats de fichiers grâce à l’analyse par signature
- Prise en charge multi-systèmes de fichiers (NTFS, FAT, exFAT, APFS, ext4, etc.)
- Aperçu des fichiers intégré avant récupération
- Création du miroir: sauvegarde d’abord le disque endommagé
Cons:
- Ne doit pas être installé sur le même disque que celui à récupérer
- Les disques connectés en USB sont plus lents à analyser en raison de la latence
- L’analyse approfondie peut être longue pour les grandes partitions
- Les images de sauvegarde nécessitent une partition libre de taille équivalente
- Récupération non garantie pour les données fortement écrasées

Supporter de divers appareils Carte SD, SDHC, SDXC, clé USB, disque dur et ordinateur.
Récupérer tout type de fichier Retrouver les images, les vidéos, les audios, les fichiers compressés, etc.
Simple à utiliser Récupérer les données en trois étapes avec l'aperçu des fichiers.
Fort en récupération de données Récupérer les données depuis un appareil avec trop de secteurs défectueux.
Divers modes d'analyse Analyse rapide (Partition), Analyse complète (Partition) et Analyse complète (Disque)
Fort en récupération de données Récupérer les données depuis un appareil avec trop de secteurs défectueux.
Récupérer tout type de fichier Retrouver les images, les vidéos, les audios, les fichiers compressés, etc.
Récupérer tout type de fichier Retrouver les images, les vidéos, les audios, les fichiers compressés, etc.
TéléchargerTéléchargerTéléchargerDéjà 2000 personnes l'ont téléchargé !git restore {file}
HEAD si le fichier n’est pas indexé).git add et souhaitez le ramener dans l’arbre de travail tout en conservant vos modifications.git restore –staged {file}
git reset –soft HEAD~1
--soft recule HEAD d’un commit mais laisse l’arbre de travail et l’index inchangés, de sorte que tout est prêt pour un nouveau commit.git reset --hard HEAD~1 sauf si vous êtes absolument sûr de vouloir supprimer définitivement toutes les modifications non commitées. L’option --hard efface à la fois les modifications indexées et celles de l’arbre de travail, sans possibilité de récupération via Git.git revert
git restore –source=HEAD –staged –worktree {file}
--source=HEAD récupère le fichier depuis le dernier commit, --staged met à jour l’index, et --worktree restaure la copie de travail. L’équivalent historique est :git checkout HEAD — {file}
Peut-on annuler un git reset --hard après l’avoir exécuté ?
git reflog, trouvez le hash du commit avant le reset, puis utilisez git reset --hard pour revenir en arrière. Cela ne restaure que les modifications qui avaient été commitées. Les fichiers non commités supprimés par --hard sont irrécupérables du point de vue de Git et nécessitent un logiciel de récupération de fichiers.Est-ce que git restore est sûr à utiliser sur une branche distante partagée ?
git restore ne modifie que votre arbre de travail local ou l’index ; il ne réécrit jamais l’historique des commits ni n’affecte la branche distante. C’est sûr à utiliser, mais gardez à l’esprit que les modifications locales supprimées ne peuvent pas être récupérées.Quelle est la différence entre git reset et git revert en termes simples ?
git reset déplace le pointeur de votre branche actuelle en arrière, effaçant ainsi les commits de la chronologie (bien qu’ils subsistent dans le reflog jusqu’au ramassage des miettes). Il réécrit l’historique. git revert crée un nouveau commit qui annule les modifications d’un commit précédent, en préservant l’historique. Sur des branches partagées, utilisez toujours git revert.
Récupérer les données sur tout type de carte SD Supporter la carte SD originelle, SDHC et SDXC
Récupérer tout type de fichier Retrouver les images, les vidéos, les audios, les fichiers compressés, etc.
Simple à utiliser Les débutants peuvent récupérer les fichiers tout seul.
Prendre en charge de divers appareils Récupérer depuis la carte SD, la clé USB, le PC, le Macbook, etc
Fonctionner sous Les systèmes Windows et Mac
Types de carte SD La carte SD originelle, SDHC et SDXC
Formats de fichiers Photos, vidéos, audio, etc
Utilisation simple Récupérer en un clic
TéléchargerTéléchargerTéléchargerDéjà 113654 personnes l'ont téléchargé !Articles concernés :
Fichiers Git manquants? Le guide pour tout récupérer après un crash disque
07-08-2026
Mathilde LEROUX : Fichiers Git manquants suite à une corruption de disque? Découvrez comment diagnostiquer et restaurer votre historique de développement...
Fichiers supprimés par `git clean` ou `checkout.`? Voici comment les récupérer
06-08-2026
Mathilde LEROUX : Fichiers perdus après un git clean? Ce guide vous explique comment les récupérer en exploitant les objets orphelins,...
Git: Fichier supprimé après un reset, rebase ou amend? La solution avec git reflog
05-08-2026
Mathilde LEROUX : Un `git reset` ou `rebase` destructeur? Découvrez les commandes exactes pour récupérer votre fichier supprimé via `git reflog`....
Disques durs Western Digital: Choisir le meilleur avec notre guide complet
23-08-2024
Louis LE GALL : L'article offre un guide complet pour choisir le disque dur Western Digital (WD) adapté aux besoins de stockage...




Commentaires des utilisateurs
Laisser un commentaire