Messages de commit Git : les bonnes pratiques
Tes messages de commit sont la documentation de l'historique de ton projet. Apprends les regles, formats et habitudes qui les rendent vraiment utiles.
Anatomie d'un bon message de commit
Ligne de sujet (obligatoire)
Un resume court du changement, 50 caracteres maximum. Ecrit au mode imperatif ("Ajouter" et non "Ajoute" ou "Ajout de"). Pas de point a la fin.
feat: ajouter la verification email a l'inscriptionLigne vide (separateur)
Separe toujours le sujet du corps avec une ligne vide. Git utilise cette separation pour distinguer le resume de la description.
Corps (optionnel)
Explique pourquoi le changement a ete fait, pas quoi (le diff montre le quoi). Coupe les lignes a 72 caracteres. Reference les issues ou tickets quand c'est pertinent.
Les utilisateurs pouvaient s'inscrire avec des
emails invalides, causant des notifications en
erreur. Cet ajout verifie l'email avant
l'activation du compte.
Closes #187
7 regles pour des messages de commit parfaits
Ces conventions sont largement adoptees dans l'industrie. Suis-les et tes collegues te remercieront.
Sujet de 50 caracteres max
Force la concision. GitHub tronque apres 72 caracteres de toute facon.
Majuscule au debut du sujet
"Fix bug" et non "fix bug". Commence par une majuscule pour la coherence.
Pas de point a la fin
La ligne de sujet est un titre, pas une phrase. Chaque caractere compte dans 50 caracteres.
Utiliser le mode imperatif
"Ajouter" et non "Ajoute". Suit les conventions de Git lui-meme (ex: "Merge branch").
Ligne vide avant le corps
Necessaire pour que git log, shortlog et de nombreux outils fonctionnent correctement.
Corps coupe a 72 caracteres
Git ne coupe pas le texte automatiquement. Garde les lignes lisibles dans les terminaux.
Expliquer pourquoi, pas quoi
Le diff montre ce qui a change. Le message doit expliquer la motivation derriere le changement.
Le format Conventional Commits
Une convention populaire qui prefixe chaque message avec un type. Permet la generation automatique de changelogs et le versioning semantique.
feat:Une nouvelle fonctionnalite pour l'utilisateur
feat: ajouter le mode sombre
fix:Une correction de bug
fix: corriger le timeout de connexion
docs:Modifications de documentation uniquement
docs: mettre a jour le guide de contribution
refactor:Changement de code sans correction de bug ni ajout de fonctionnalite
refactor: simplifier le middleware auth
test:Ajout ou mise a jour de tests
test: ajouter les tests e2e du checkout
chore:Taches de maintenance (deps, CI, outillage)
chore: mettre a jour eslint en v9
Bon vs mauvais : trouve la difference
Compare un git log propre avec un git log brouillon. Sur quel projet prefererais-tu travailler ?
Bons messages
Mauvais messages
Avant et apres : reecrire les mauvais messages
Mauvais
fix trucQu'est-ce qui a ete corrige ? Ou ? Pourquoi ?
Bon
fix: empecher le crash quand le profil utilisateur est nullType clair, portee et description de la correction.
Mauvais
mis a jour le code pour les nouvelles couleurs du design system et aussi change des styles de boutons et corrige quelques trucs dans le headerBeaucoup trop long, melange plusieurs changements, pas de structure.
Bon
refactor: migrer les styles de boutons vers les tokens du design systemUn changement par commit. Le reste dans des commits separes.
Mauvais
WIPPas un message de commit. Utilise les branches ou le stash pour le travail en cours.
Bon
feat: ajouter le composant barre de recherche (sans resultats pour l'instant)Honnete sur l'etat d'avancement, mais toujours descriptif.
Ecrire ses commits : editeur vs en ligne
Utilise git commit pour des messages detailles ou -m pour les rapides.
Avec l'editeur (detaille)
Avec le flag -m (rapide)
Fait partie du guide Les bases de Git
GitQuest est conçu par Anaïs (nouvelle fenêtre), développeuse web et responsable pédagogique, spécialisée en formations tech et accessibilité numérique.
Questions sur les messages de commit
Pratique l'ecriture de bons commits dans un terminal securise
Les enquetes GitQuest te mettent face a des situations reelles ou des messages de commit clairs font toute la difference.
Commencer les enquetes