Structure d’un commit conventionnel
- Première ligne commençant par le type de commit, suivi de deux points (
:), suivi d’un message résumant le commit. - Le type peut éventuellement être complété par un scope entre parenthèses afin de préciser le composant ou la fonctionnalité modifiée.
- Optionnellement, on peut ajouter, après une ligne vide, un ou plusieurs paragraphes complémentaires décrivant plus en détail le commit. La syntaxe Markdown peut être utilisée.
- Enfin, une dernière ligne (séparée des précédentes par une ligne vide) doit contenir une référence au ticket auquel est lié le commit. La référence prend la forme suivant
Refs: #XXX, ouFix: #XXXpour fermer le ticket automatiquement lors de la fusion dans la branche de destination.
Exemple de commit conventionnel
Exemple de log de commit complet :
fix: réparer le lien vers la licence GPL dans le pied des pages du privé
en le remplaçant par un simple lien vers le site officiel gnu.org
Fix: #5328
Liste des types de commit
Convention utilisée dans SPIP.
| Type | Signification |
|---|---|
| build | Modifie un script de compilation du programme ou modifie des dépendances externes. Indique également une montée en version. |
| change | Modifie l’implémentation d’une fonctionnalité — peut modifier des signatures de fonctions (≠ refactor) |
| chore | Travail de fond n’altérant pas le code (sortir une version, regénérer du code compilé) |
| ci | Relatif à l’intégration continue |
| deprecate | Déprécier (sans l’enlever) une fonctionnalité |
| docs | Relatif à la documentation (docs, readme, changelog) |
| feat | Ajoute une fonctionnalité |
| fix | Corrige un problème |
| i18n | Relatif aux traductions et chaînes de langue |
| perf | Améliore la performance d’algorithme ou du programme |
| refactor | Réécriture de code, sans en modifier l’implémentation |
| remove | Suppression de code ou de fonctionnalité (déprécié auparavant) |
| revert | Annule une modification précédente (commit) |
| security | Relatif à la sécurité |
| style | Relatif aux règles d’écriture du code (Coding Standard) |
| test | Relatifs aux tests du logiciel |
Pour aller plus loin
Se référer au site www.conventionnalecommits.