Le développeur voyageur du temps

GitBeginner
Pratiquer maintenant

Introduction

Imaginez que vous êtes un développeur travaillant sur un projet de machine à remonter le temps. Soudain, votre "moi" du futur apparaît et vous avertit d'un bug critique dans le code actuel ! Vous devez rapidement sauvegarder votre travail en cours, corriger le bug, puis reprendre votre tâche initiale. Ce défi testera vos compétences avec Git stash dans un scénario à enjeux élevés où le temps s'entremêle !

Remiser, corriger et reprendre

État initial

Vous vous trouvez dans le répertoire ~/project. Le dossier time-machine est un nouveau dépôt Git contenant 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. Remisez (stash) vos modifications actuelles, y compris les fichiers non suivis (untracked).
  2. Corrigez le "bug critique" dans la branche master en mettant à jour le contenu de main-console.txt par "Fixed: Temporal Flux Stabilized".
  3. Créez une nouvelle branche nommée future-upgrades à partir de vos modifications remisées.
  4. Assurez-vous que le correctif de bug effectué sur la branche master soit é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 d'origine (suivies et non suivies) sont présentes dans la nouvelle branche.
  • Le correctif du bug dans main-console.txt doit être présent à la fois dans les branches master et future-upgrades.

Exemple

Une fois le défi terminé, 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 de master
flux-capacitor.txt (content: "Work in progress")              ## Modifications suivies d'origine
new-feature.txt (content: "Untracked feature")                ## Fichier non suivi d'origine

Note : Pour atteindre cet état, vous devrez veiller à ce que les deux branches contiennent le correctif tout en préservant vos travaux en cours dans la branche future-upgrades.

✨ Vérifier la solution et pratiquer

Résumé

Dans ce défi, vous vous êtes exercé à utiliser 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 corriger un problème critique, puis à créer une nouvelle branche à partir de vos modifications remisées. Ces compétences sont essentielles pour maintenir un flux de travail fluide lorsque des tâches imprévues surgissent, vous permettant de jongler entre plusieurs responsabilités sans perdre votre travail ni briser votre concentration.

N'oubliez pas que si Git stash est un outil puissant pour stocker temporairement des modifications, il est préférable de l'utiliser pour du stockage à court terme. Pour des travaux de longue durée ou des fonctionnalités importantes, la création de branches dédiées reste souvent la meilleure approche. Continuez à pratiquer ces techniques, et vous serez paré pour affronter n'importe quel scénario de développement, même les plus temporels !