Convention de commit
Convention de message de commit Git
Ceci est adapté de la convention de commit d'Angular.
TL;DR :
Les titres de commit doivent correspondre à l'expression régulière suivante :
/^(revert: )?(feat|fix|docs|style|refactor|perf|test|workflow|build|ci|chore|types|wip)(\(.+\))?: .{1,72}/;
Format complet du message
Un message de commit se compose d'un en-tête, d'un corps et d'un pied de page. L'en-tête comporte un type, une portée et un sujet :
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
L'en-tête est obligatoire et la portée de l'en-tête est facultative.
Annulation
Si le commit annule un commit précédent, il doit commencer par revert:, suivi de l'en-tête du commit annulé. Dans le corps, il doit indiquer : This reverts commit <hash>., où le hash est le SHA du commit annulé.
Type
Si le préfixe est feat, fix ou perf, il apparaîtra dans le changelog. Cependant, s'il y a un quelconque BREAKING CHANGE, le commit apparaîtra toujours dans le changelog.
Les autres préfixes sont laissés à votre discrétion. Les préfixes suggérés sont docs, chore, style, refactor et test pour les tâches non liées au changelog.
Portée
La portée indique dans quelle section de l'application les modifications ont eu lieu, telle que SlashCommand, ContextMenu ou MessageComponents
Sujet
Le sujet contient une description succincte de la modification :
- Utilisez l'impératif, au présent : « change », pas « changed » ni « changes »
- ne mettez pas de majuscule à la première lettre
- ne terminez pas votre message par un point (.)
Corps
Comme dans le sujet, utilisez l'impératif, au présent Le corps doit inclure la motivation de la modification et la différence avec le comportement précédent.
Pied de page
Le pied de page doit contenir toute information sur les Breaking Changes et c'est également l'endroit pour référencer les issues GitHub que ce commit Closes (clôt).
Les Breaking Changes doivent commencer par les mots BREAKING CHANGE: suivis d'un espace ou de deux retours à la ligne. Le reste du message de commit est ensuite utilisé pour cela.