author avatar
    Développeur informatique en chef
Dernière mise à jour par Chloé Martin le 10 août 2026

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.



Différence git restore checkout reset revert
Rares sont les situations plus stressantes que de réaliser soudainement que vous avez perdu du travail dans Git. Peut-être qu’un 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.

Comparaison détaillée des différences entre git restore, checkout, reset et revert

Ce tableau résume la portée de chaque commande, sa réécriture de l’historique, son niveau de risque et son cas d’utilisation idéal. Consultez-le avant d’exécuter une commande d’annulation.
CommandePortée (Arbre de travail / Index / HEAD)Historique réécrit ?Niveau de risqueCas d’utilisation idéal

git restore

Arbre de travail, index

Nonn

Faible

Annuler en toute sécurité les modifications non indexées ou désindexer des fichiers

git checkout (niveau fichier)

Arbre de travail

Nonn

Faible

Ancienne méthode pour restaurer un fichier depuis un commit ; restore est plus sûr et plus clair

git reset

Index, HEAD (avec options)

Oui (peut réécrire l’historique local)

Élevé si --hard

Annuler des commits locaux ; conserver ou supprimer les modifications selon les options

git revert

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

Remarque : 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.
Si vous utilisez une commande qui réécrit l’historique (comme 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.

Que faire si une commande a supprimé vos fichiers ?

Parfois, une commande Git destructive efface des fichiers que Git ne peut pas récupérer, par exemple lorsque 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.
Renee Undeleter est un logiciel professionnel de récupération de données pour Windows, cartes mémoire et disques externes. Il est conçu pour récupérer les fichiers perdus suite à une suppression accidentelle, un formatage de disque ou un crash du système d’exploitation, les mêmes situations qui peuvent survenir lorsqu’une commande Git efface des fichiers jamais suivis.
Le logiciel propose quatre modules d’analyse principaux :
- Analyse Rapide (Partition): récupère rapidement les fichiers récemment supprimés en analysant les 30 premiers Go d’une partition.
- Analyse Complète (Partition): récupère les fichiers de partitions formatées, corrompues ou inaccessibles, en utilisant la recherche par signature pour plus de 400 types de fichiers.
- Analyse Complète (Disque): reconstruit les informations de partition et analyse chaque secteur, idéal pour les disques gravement endommagés.
Sélectionner Analyse Complète (Disque) pour analyser le disque dans Renee Undeleter
- Création du miroir: effectue une sauvegarde bit à bit d’une partition, vous permettant de tenter la récupération en toute sécurité sans risquer d’aggraver les dommages.
Renee Undeleter, sélectionner Analyse Rapide (Partition)
Parmi les principaux avantages: prise en charge de plusieurs systèmes de fichiers (NTFS, FAT, exFAT, APFS, ext4, etc.), une fonction d’aperçu pour vérifier les fichiers avant récupération, et une interface conçue aussi bien pour les débutants que pour les utilisateurs avancés.
aperçu avant récupération
aperçu du fichier dans Renee Undeleter
Pros:
  • 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

POPULAIRE Récupérez vos fichiers Git perdus sur des disques corrompus avec Renee Undeleter

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é !
Important: Si des commandes Git ont supprimé des fichiers jamais commités, cessez immédiatement d’écrire sur le disque concerné pour éviter d’écraser les données récupérables. Vous pouvez tenter d’utiliser un logiciel de récupération tiers, mais sans garantie.

Quelle commande utiliser? Exemples pratiques par état

La commande Git appropriée dépend de l’état actuel de votre dépôt. Voici des exemples concrets pour vous aider à choisir l’option la plus sûre, sans risquer votre travail ni réécrire l’historique partagé.

1. Annuler les modifications non indexées dans l’arbre de travail

Vous avez modifié un fichier mais souhaitez annuler ces modifications. Seul l’arbre de travail est affecté ; l’historique des commits reste intact.

git restore {file}

Cette commande remplace en toute sécurité votre copie de travail par la version de l’index (ou de HEAD si le fichier n’est pas indexé).

2. Désindexer un fichier tout en conservant vos modifications

Vous avez accidentellement indexé un fichier avec git add et souhaitez le ramener dans l’arbre de travail tout en conservant vos modifications.

git restore –staged {file}

Vos modifications restent intactes ; seul l’index est mis à jour.

3. Annuler votre dernier commit local tout en conservant les modifications

Vous avez commité trop tôt et n’avez pas encore poussé. Pour annuler le commit tout en gardant vos modifications indexées :

git reset –soft HEAD~1

L’option --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.
Attention : Évitez 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.

4. Annuler un commit déjà poussé

Pour les commits présents sur une branche distante, ne réécrivez jamais l’historique. À la place, créez un nouveau commit qui annule les modifications :

git revert

C’est sûr pour les branches partagées: cela préserve l’historique du projet et ne nécessite pas de force push.

5. Restaurer un fichier suivi supprimé

Vous avez supprimé un fichier suivi et souhaitez le récupérer depuis le dernier commit :

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}

Les deux commandes récupèrent un fichier suivi toujours présent dans l’historique. Si le fichier n’a jamais été commité, Git ne peut pas le récupérer. Vous pouvez tenter d’utiliser un outil de récupération de données tiers, mais sans garantie.

FAQ

Peut-on annuler un git reset --hard après l’avoir exécuté ?

Parfois, oui, si vous agissez rapidement. Le reflog de Git garde la trace des déplacements de HEAD. Lancez 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 ?

Oui. 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.
POPULAIRE Renee Undeleter - Logiciel de récupération de données puissant

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é !

Commentaires des utilisateurs

Page 1

Laisser un commentaire


Votre commentaire a été soumis et est en attente de modération.