Annuler les erreurs : restore, reset, revert — faire les bons choix sans danger
L'une des questions les plus fréquentes en entretien et dans la pratique professionnelle est de savoir comment annuler ce qui a déjà été fait. Nous allons explorer trois outils offrant différents niveaux d'annulation et nous concentrer sur l'essentiel : des scénarios concrets où 'reset --hard' peut nuire au travail d'équipe, et comment 'revert' offre une alternative plus sûre. Bonnes et mauvaises pratiques avec leurs conséquences réelles.
- Vous serez capable d'annuler en toute confiance des modifications à n'importe quel stade : dans le répertoire de travail, dans l'index et dans l'historique des commits.
- Vous comprendrez la différence fondamentale entre reset et revert, et saurez dans quelles situations utiliser l'un plutôt que l'autre.
- Vous apprendrez à éviter les erreurs courantes commises par les débutants lors de l'annulation de modifications dans un dépôt partagé.
จุดเริ่มต้นของบทเรียน
Git restore : le bouton annuler pour les fichiers
- Git restore — annule les modifications non validées
- Fonctionne comme le bouton 'annuler' d'un éditeur
- Sûr — ne modifie pas l'historique des validations
- Ramène les fichiers à leur dernier état enregistré
Imaginez que vous ayez accidentellement enregistré un fichier avec des erreurs et que vous souhaitiez tout remettre comme avant. Git restore agit comme un bouton magique d'annulation — il ramène les fichiers à leur dernier état validé. Contrairement aux autres commandes d'annulation, restore ne fonctionne qu'avec des modifications non validées et est totalement inoffensif pour l'historique de votre projet. C'est le premier outil à utiliser quand vous devez corriger rapidement une erreur sans risquer d'affecter l'historique des changements.
Annuler les modifications dans le répertoire de travail
- git restore fichier.txt — restaure le fichier à son dernier commit
- Annule toutes les modifications dans le répertoire de travail
- Sûr — les modifications peuvent être récupérées via l'éditeur
- Vérifiez l'état avec git status avant restauration
Supposons que vous ayez passé une demi-heure à modifier un fichier de configuration, mais que vous réalisiez que vous êtes sur la mauvaise piste. Au lieu d'annuler manuellement chaque modification, exécutez simplement git restore config.yml. Le fichier reviendra instantanément à son état au dernier commit. C'est comme si vous aviez simplement fermé le fichier sans enregistrer, mais avec la garantie de retrouver une version fonctionnelle.
# Démonstration de restauration de fichier
$ echo "Modifications erronées" > main.py
$ git status
$ git restore main.py
$ cat main.py
$ git status
Retirer un fichier de l'index
- git restore --staged fichier.txt — retirer un fichier de l'index
- Préserve les modifications dans le répertoire de travail
- Attention : sans --staged, les modifications seront perdues
- Toujours vérifier git status avant d'exécuter
Une erreur fréquente est d'ajouter accidentellement un fichier superflu à l'index. Par exemple, vous avez exécuté git add . et y avez inclus un fichier de configuration temporaire. La commande git restore avec le drapeau staged et le nom du fichier settings.tmp le retirera proprement de l'index, tout en préservant toutes les modifications dans le répertoire de travail. Sans le drapeau staged, vous auriez perdu votre travail, donc vérifiez toujours le statut avec git status avant d'exécuter restore. Maintenant vous savez annuler des modifications avant le commit. Mais que faire si l'erreur est déjà dans l'historique ? C'est là que git reset entre en jeu.
# Fichier ajouté accidentellement à l'index
$ git add config.tmp
$ git status
# Retirer de l'index en conservant les modifications
$ git restore --staged config.tmp
$ git status
# Vérifier que le fichier est toujours dans le répertoire de travail
$ ls -la config.tmp
บทเรียนฉบับเต็มใช้ได้เมื่อสมัครสมาชิก
ฉบับเต็มมีสไลด์เพิ่มอีก 24 สไลด์
วิดีโอ สไลด์ทั้งหมด โน้ต แบบทดสอบ AI ติวเตอร์ และการสัมภาษณ์จะเปิดหลังเข้าสู่ระบบและสมัครสมาชิก
เข้าสู่ระบบหรือลงทะเบียน สมัครสมาชิกเนื้อหาบทเรียน
- Git restore : le bouton annuler pour les fichiers
- Annuler les modifications dans le répertoire de travail
- Retirer un fichier de l'index
- Git reset : comment fonctionne le rembobinage de l'historique
- Reset --soft sécurisé : modifications dans l'index
- Reset --mixed par défaut : modifications dans le répertoire de travail
- Reset --hard dangereux : suppression irréversible
- Reset : trois modes, une commande
- git reset --soft : réécrire l'historique en toute sécurité
- Quand utiliser --mixed et --hard
- Check-list : quel reset choisir ?
- Pourquoi ne peut-on pas simplement effacer une erreur ?
- Comment fonctionne git revert en pratique
- Annuler plusieurs commits en une fois
- Reset : Réécrire l'historique en local
- Revert : Annuler les changements en toute sécurité
- Que se passe-t-il lors d'un push : reset vs revert
- Pourquoi reset --hard est dangereux
- Exemple de perte de modifications
- Comment récupérer les données
- Les dangers de l'annulation dans une branche partagée
- Annulation sécurisée avec revert
- La bonne séquence d'actions
- Quand utiliser : restore, reset ou revert
- Règles pour travailler avec l'historique personnel et partagé
- Procédure pas à pas en cas d'erreur
- Récapitulatif et mission : Maître des annulations
บทความเกี่ยวกับบทเรียนนี้
- คำสั่ง Git: ชีตสรุปพร้อมตัวอย่างสำหรับใช้ทุกวัน
- git checkout, switch และ restore: ควรใช้อะไรเมื่อไร
- git reset กับ git revert: วิธียกเลิกคอมมิตโดยไม่ทำลายประวัติของทีม
- git reflog: วิธีกู้คอมมิตและบรานช์ที่หายไป
- Git และ GitHub: ต่างกันอย่างไร และเชื่อมโยงกันอย่างไร
บทเรียนทั้งหมดในคอร์สนี้
- Introduction : Git du débutant au développeur confirmé
- À quoi sert Git exactement - et pourquoi il est indispensable pour trouver un emploi
- Installation et configuration : Préparer Git pour son premier démarrage
- Premier dépôt : init, add, commit et la magie de l'index
- Lire l'historique : log, diff, show et navigation dans le passé
- Branches : la réalité parallèle de votre code
- Annuler les erreurs : restore, reset, revert — faire les bons choix sans danger
- GitHub et les dépôts distants : votre code dans le cloud
- Travail d'équipe : Forks, branches de fonctionnalités et demandes d'intégration (pull requests)
- Conflits de fusion : ne paniquez pas - comprenons et résolvons
- Processus Git dans les équipes réelles : quel workflow choisir ?
- Outils avancés : rebase, stash, cherry-pick et les tags
- Projet final : Simulation d'un développement d'équipe réel