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: #XXX
pour 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.