Le développeur voyageur dans le temps

GitGitBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Imaginez que vous êtes un développeur travaillant sur un projet de machine à voyager dans le temps. Soudain, votre moi du futur apparaît et vous avertit d'un bogue critique dans la base de code actuelle! Vous devez rapidement sauvegarder votre travail en cours, corriger le bogue, puis reprendre votre tâche en cours. Ce défi testera vos compétences en matière de stash Git dans un scénario à haut risque et où le temps se déforme!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git(("Git")) -.-> git/DataManagementGroup(["Data Management"]) git/DataManagementGroup -.-> git/stash("Save Changes Temporarily") git/BranchManagementGroup -.-> git/branch("Handle Branches") git/BranchManagementGroup -.-> git/checkout("Switch Branches") subgraph Lab Skills git/stash -.-> lab-387759{{"Le développeur voyageur dans le temps"}} git/branch -.-> lab-387759{{"Le développeur voyageur dans le temps"}} git/checkout -.-> lab-387759{{"Le développeur voyageur dans le temps"}} end

Masquer, Corriger et Reprendre (Stash, Fix, and Resume)

État Initial

Vous êtes dans le répertoire ~/project. Le répertoire time-machine est un nouveau dépôt Git avec les fichiers suivants :

  • main-console.txt (contenu : "Bug: Temporal Flux Unstable")
  • flux-capacitor.txt (contenu : "Work in progress")
  • new-feature.txt (contenu : "Untracked feature")

Vous pouvez utiliser la commande git status pour vérifier l'état actuel du dépôt.

Tâches

  1. Masquez (stash) vos modifications actuelles, y compris tous les fichiers non suivis (untracked files).
  2. Corrigez le "bug critique" dans la branche master en mettant à jour le contenu de main-console.txt à "Fixed: Temporal Flux Stabilized".
  3. Créez une nouvelle branche à partir de vos modifications masquées, nommée future-upgrades.
  4. Assurez-vous que le correctif du bug de la branche master est également présent dans la branche future-upgrades.

Exigences

  • Toutes les opérations doivent être effectuées dans le répertoire ~/project/time-machine.
  • Assurez-vous que vos modifications originales (suivies et non suivies) sont présentes dans la nouvelle branche.
  • Le correctif du bug dans main-console.txt doit être présent dans les branches master et future-upgrades.

Exemple

Après avoir terminé le défi, votre dépôt devrait ressembler à ceci :

Sur la branche master :

main-console.txt (content: "Fixed: Temporal Flux Stabilized")

Sur la branche future-upgrades :

main-console.txt (content: "Fixed: Temporal Flux Stabilized")  ## Contient le correctif du bug de master
flux-capacitor.txt (content: "Work in progress")              ## Modifications suivies originales
new-feature.txt (content: "Untracked feature")                ## Fichier non suivi original

Remarque : Pour atteindre cet état, vous devrez vous assurer que les deux branches contiennent le correctif du bug tout en préservant vos modifications en cours dans la branche future-upgrades.

✨ Vérifier la solution et pratiquer

Résumé

Dans ce défi, vous avez pratiqué l'utilisation de git stash dans un scénario d'urgence simulé. Vous avez appris à sauvegarder rapidement votre travail en cours (y compris les fichiers non suivis), à changer de contexte pour résoudre un problème critique, puis à créer une nouvelle branche à partir de vos modifications stashées. Ces compétences sont essentielles pour maintenir un flux de travail fluide lorsque des tâches inattendues surviennent, vous permettant de gérer plusieurs responsabilités sans perdre votre travail ni votre concentration.

N'oubliez pas que si git stash est un outil puissant pour stocker temporairement des modifications, il est mieux utilisé pour le stockage à court terme. Pour des travaux à plus long terme ou des fonctionnalités importantes, créer des branches dédiées est souvent une meilleure approche. Continuez à pratiquer ces compétences, et vous serez bien équipé pour gérer tout scénario de développement hors du commun qui vous viendra en travers!