Leçon 18 / 20

Créer un historique par intention

20 min Git — versionner son code Gratuit

Objectif : Enregistrer séparément une modification de page et une modification de navigation avec des messages conformes aux conventions.

Vous avez plusieurs changements en cours, mais ils ne poursuivent pas tous le même objectif. Si vous les enregistrez ensemble, il sera plus difficile de comprendre l’historique ou de retrouver une modification précise.

Dans cette leçon, vous séparez deux intentions dans `index.html` : préciser la présentation du projet, puis clarifier le libellé d’un lien de navigation. Vous créez un commit pour chacune, sans inclure la note provisoire de `README.md` ni le fichier `.gitignore`.

Examiner les changements déjà présents

Le dépôt `suivi-site` est à jour avec `origin/main`. Il reste toutefois une note provisoire non commitée dans `README.md`, ainsi que le nouveau `.gitignore` non suivi. Ne les supprimez pas : le but est de ne préparer que les changements voulus dans `index.html`.

Terminal
cd suivi-site
git status --short
Résultat attendu
 M README.md
?? .gitignore

Le préfixe ` M` signale ici un fichier suivi modifié, tandis que `??` signale un fichier non suivi. Ces états ont été étudiés dans « Lire l’état du dépôt ». À cette étape, aucun des deux fichiers ne doit entrer dans les commits de cette leçon.

Enregistrer l’amélioration de la page

Modifiez dans `index.html` la phrase de présentation située dans la section d’introduction. Remplacez « Un suivi des changements enregistrés et de la première publication du site. » par « Un historique clair des changements et de la première publication du site. » Cette modification concerne le contenu de la page, pas la navigation.

Terminal
git diff -- index.html
git add -p index.html
Résultat attendu
La première commande montre la phrase modifiée. Dans l’invite interactive de git add -p, acceptez uniquement le changement de l’introduction avec y, puis quittez avec q.

L’ajout interactif vous permet de choisir la portion à préparer. Vérifiez ensuite la zone de préparation avant de créer le commit : vous devez y retrouver uniquement la modification de présentation, sans la note de `README.md` ni `.gitignore`.

Terminal
git diff --cached -- index.html
git status --short
git commit -m "Clarifier la présentation du projet"
Résultat attendu
Le commit est créé avec le message « Clarifier la présentation du projet ». Le changement de présentation est enregistré ; la note de README.md et .gitignore restent hors du commit.

Enregistrer séparément la modification de navigation

Après le premier commit, modifiez le texte du lien de navigation « Publication » en « Dépôt distant ». Conservez son attribut `href` égal à `#publication` : la cible de la section ne change pas. Vous avez maintenant une deuxième intention, distincte de la présentation du projet.

Terminal
git diff -- index.html
git add -p index.html
git diff --cached -- index.html
git commit -m "Clarifier le lien vers le dépôt distant"
Résultat attendu
Le deuxième commit contient uniquement le changement du libellé du lien. Les deux messages commencent par un verbe à l’infinitif employé comme impératif et décrivent chacun une intention.

Vous avez enregistré la page avant de modifier le lien : le deuxième changement n’existait donc pas au moment du premier commit. Contrôlez enfin l’état du dépôt. `README.md` et `.gitignore` doivent toujours être présents comme changements locaux, mais ils ne font partie d’aucun des deux commits.

Terminal
git status --short
git log -2 --oneline
Résultat attendu
 M README.md
?? .gitignore
<identifiant-court> Clarifier le lien vers le dépôt distant
<identifiant-court> Clarifier la présentation du projet

À retenir

  • Séparez les changements qui répondent à des intentions différentes.
  • Vérifiez les changements préparés avant chaque commit avec `git diff --cached`.
  • Rédigez un message à l’impératif en français, précis et lié au contenu du commit.
  • Laissez hors de la préparation les fichiers locaux qui ne font pas partie de l’intention.

Dans la prochaine leçon, vous corrigerez une erreur avant publication en vérifiant chaque restauration et en préservant les modifications utiles.

Envie d'aller plus loin ?

Les cours Enovatic sont gratuits et le resteront. Si vous cherchez un accompagnement encadré, nos formations professionnelles sont animées par les mêmes formateurs.