Réécrire l'historique

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

Bienvenue, explorateur du temps de Git! Vous avez été chargé d'une mission importante : nettoyer l'historique des validations (commits) en désordre d'un projet top secret. Votre objectif est d'utiliser vos nouvelles compétences en Git, plus précisément l'art du rebasage interactif, pour transformer une chronologie chaotique en un historique clair et concis.

Imaginez que vous êtes un historien ayant la capacité de réécrire le passé. Votre tâche consiste à prendre une série d'événements épars et à les réorganiser en une narration cohérente. C'est exactement ce que vous allez faire avec la fonction de rebasage interactif de Git. Vous allez combiner les validations liées, supprimer celles qui ne sont pas nécessaires et réécrire les messages de validation pour raconter plus clairement l'histoire du développement de votre projet.

Êtes-vous prêt à plonger dans le flux du temps et à ressortir avec un historique Git soigné? Commençons votre aventure temporelle!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/BasicOperationsGroup -.-> git/commit("Create Commit") git/BranchManagementGroup -.-> git/log("Show Commits") git/BranchManagementGroup -.-> git/rebase("Reapply Commits") subgraph Lab Skills git/commit -.-> lab-387746{{"Réécrire l'historique"}} git/log -.-> lab-387746{{"Réécrire l'historique"}} git/rebase -.-> lab-387746{{"Réécrire l'historique"}} end

Nettoyer la chronologie

Tâches

Le dépôt (repo) du défi a été configuré dans ~/project/time-travel-git. Exécutez la commande suivante pour afficher l'historique des validations (commits) initial :

cd ~/project/time-travel-git
git log --oneline
886c6ad (HEAD -> master) Add project description
3a87b84 Add project codename
6b4cbb9 Fix typo in project name
0d71e5e Start secret project

Votre mission consiste en les tâches suivantes :

  1. Combiner les deux premières validations en une seule validation avec le message "Initialize secret project".
  2. Retitrer la validation "Add project codename" en "Add project codename: Chronos".
  3. Conserver la dernière validation telle quelle.

Exigences

Pour terminer cette mission avec succès, respectez les exigences suivantes :

  • Toutes les opérations doivent être effectuées dans le répertoire ~/project/time-travel-git.
  • Utiliser rebase pour nettoyer l'historique des validations.
  • Votre historique final doit comporter exactement 3 validations.
  • Ne modifiez pas le contenu des fichiers dans le dépôt.

Exemple

Après avoir terminé le défi, votre commande git log --oneline devrait ressembler à ceci :

abc1234 Add project description
def5678 Add project codename: Chronos
ghi9101 Initialize secret project
✨ Vérifier la solution et pratiquer

Résumé

Dans ce défi, vous avez entrepris un voyage temporel à travers l'historique de Git. Vous avez maîtrisé l'art du rebasage interactif, un outil puissant qui vous permet de remodeler le passé et de créer un historique de validations (commits) plus propre et plus logique.

En combinant les validations, en retitrant les messages et en réorganisant les modifications, vous avez transformé une suite d'événements en désordre en une narration cohérente. Cette compétence est inestimable dans les projets du monde réel, où maintenir un historique propre et compréhensible peut grandement améliorer la collaboration et la gestion de projet.

N'oubliez pas que avec de grands pouvoirs viennent de grandes responsabilités. Bien que réécrire l'historique puisse être utile pour les branches locales ou les projets personnels, il faut l'utiliser avec prudence sur les branches partagées. Communiquez toujours avec votre équipe avant de modifier l'historique partagé.

Alors que vous poursuivez vos aventures avec Git, continuez à perfectionner ces compétences. La capacité de manipuler l'historique n'est pas seulement une question de propreté, c'est aussi de raconter clairement l'évolution de votre projet. Que vos futurs historiques Git soient propres, vos fusions (merges) sans conflit et vos validations toujours significatives!