Les commits

Introduction

La spécification Conventional Commits est une convention légère qui s'applique aux messages de commit. Elle fournit un ensemble de règles simples pour créer un historique de commit explicite, ce qui facilite l'écriture d'outils automatisés. Cette convention s'aligne sur SemVer, en décrivant les fonctionnalités, les corrections et les changements majeurs apportés dans les messages de commit.

Le message de commit doit être structuré comme suit :

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Les préfixes

Le commit contient les éléments structurels suivants, afin de communiquer l'intention aux utilisateurs de vos sources :

Préfixes
Explication

fix

un commit de type fix corrige un bug dans votre base de code (ceci correspond à PATCH dans le versionnement sémantique).

feat

un commit de type feat introduit une nouvelle fonctionnalité dans la base de code (ceci correspond à MINOR dans le versionnement sémantique).

BREAKING CHANGE

un commit qui comporte le pied de page BREAKING CHANGE: ou qui ajoute un ! après le type/la portée introduit une modification majeure de l'API (correspondant à MAJOR dans le versionnement sémantique). Un BREAKING CHANGE peut faire partie de commits de tout type.

Les autres types de préfixes sont également autorisés (basé sur la convention Angular):

Préfixes
Explication
Dans la pratique

build

Modifications liées au systèmes de "build" ou aux dépendances.

Modification du contenu du package.json ou composer.json

chore

Tâches diverses qui n'impactent ni le code source, i les tests.

Mise à jour du .gitignore.

ci

Changements liés à l'intégration continue. CI et CD !

Ajout d'un job de déploiement.

docs

Modification de la documentation.

Correction sur le Readme.

style

Modification stylistiques du code sans impact fonctionnel.

Soigner l'indentation.

refactor

Refonte du code sans ajout de fonctionnalité ni correction de bug.

Simplification du corps d'une méthode.

perf

Amélioration des performances.

Réduction de la complexité d'une requête sql.

test

Ajout ou modification de tests.

Ajout d'un cas de test qui avait été oublié initialement.

Last updated