cd /news/developer-tools/comment-nommer-ses-branches-et-ses-m… · home topics developer-tools article
[ARTICLE · art-9566] src=gist.github.com ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Comment nommer ses branches et ses messages de commit ?

This article provides guidelines for naming Git branches and writing commit messages. Branch names should follow a `<type>/<name>/<issue_ID>` format using kebab-case, while commit messages should adhere to the Conventional Commits standard with a structured format including type, scope, subject, body, and footer. These conventions improve codebase clarity, enable semantic versioning, and allow for automation of tasks like changelog generation.

read4 min views17 publishedMar 22, 2022

Inspiré par codeheroes

Nommer les branches #

En dehors des branches develop et master, comment nommer nos autres branches ?

Rien de bien sorcier, nous allons simplement indiquer le type de la branche suivi du nom de celle-ci, optionnellement nous pouvons ajouter le numéro du ticket. Le tout doit être séparé par le caractère slash "/" :

<type>/<name>/<issue_ID>

Les types de branches #

Commit type Desciption Emoji
feature Ajout d’une nouvelle fonctionnalité
bugfix Correction d’un bug 🐛
hotfix Correction d’un bug critique 🚑
chore Nettoyage du code 🧼
experiment Expérimentation de fonctionnalités 🚨

Le nom de la branche #

Le nom de la branche décrit succinctement le but de celle-ci. Certaines règles doivent être respectées :

  • Le nom doit faire moins de 50 caractères
  • Le nom doit respecter la convention kebab-case (les mots doivent être en minuscule et liés par des tirets “-“)

Le numéro de ticket #

Pour le suivi de vos tickets, que ce soit sur Github, Gitlab ou tout autre outil comme JIRA par exemple, il peut être utile d’ajouter le numéro de ceux-ci dans le nom de vos branches. Il est ainsi possible par exemple de fermer automatiquement vos tickets lorsque la branche sera “merger”.

Quelques exemples #

Voyons quelques exemples de noms de branches pour mieux comprendre :

feature/add-users-controller
hotfix/profile-page-error/621
experiment/try-api-key
chore/remove-deprecated-method/924

Le message d’un commit doit être clair et concis, il doit indiquer ce qui a été modifié et la raison de cette modification. La convention de nommage la plus utilisée est la “Conventional Commits“. L’avantage de respecter cette convention, outre le fait de rendre plus compréhensibles vos commits, est de permettre de respecter la sémantique de versions (SemVer) et d’automatiser certaines tâches (comme la génération d’un fichier Changelog par exemple).

Format des messages #

Le format du message est le suivant :

<type>(<scope>): <subject>
<body>
<BLANK LINE>
<footer>

Voyons plus en détail chacune des parties du message. #

Le type

Le type du commit décrit l’origine du changement. Il peut prendre différentes valeurs :

Commit type Desciption Emoji
feat Ajout d’une nouvelle fonctionnalité
fix Correction d’un bug 🐛
build Changement lié au système de build ou qui concerne les dépendances 🚧
deploy Deploy project 🚀
ci Changement concernant le système d’intégration et de déploiement continu 👷
docs Ajout ou modification de documentation 📚
perf Amélioration des performances 🐎
refactor Modification n’ajoutant pas de fonctionnalités ni de correction de bug 🔨
style Changement lié au style du code 🎨
test Ajout ou modification de tests 🚨
revert Annulation d’un précédent commit
chore Toute autre modification 🚨
security Fix security issue 🔒
[...]

Pour chacun des types, vous pouvez également utiliser un système d’emoji comme gitmoji.

Le scope

Cet élément facultatif indique simplement le contexte du commit. Il s’agit des composants de notre projet, voici une liste non exhaustive :

  • controller
  • route
  • middleware
  • view
  • config
  • service
  • etc.

Le sujet

Le sujet décrit succinctement la modification. Certaines règles doivent être respectées :

  • Le sujet doit faire moins de 50 caractères.
  • Les verbes doivent être à l’impératif (add, update, change, remove, etc.).
  • La première lettre ne doit pas être en majuscule.
  • Le sujet ne doit pas se terminer par un point.

Le corps du message

Le corps du message, qui est optionnel, doit contenir les raisons de la modification ou tout simplement donner plus détails sur le commit. Il peut également indiquer les changements importants (breaking changes). Celui-ci doit faire moins de 100 caractères.

Le footer

Le footer est également facultatif, celui-ci est surtout utilisé pour faire référence aux tickets (issue) de Github ou Gitlab par exemple que le commit règle ou aux changements importants (breaking changes). Celui-ci doit faire moins de 100 caractères.

Quelques exemples

refactor(repository): remove deprecated method
 
BREAKING CHANGE: findById and findByPrimary methods have been removed.
 
Closes #78
fix(controller): use the correct HTTP code
 
Use the HTTP error 403 instead of 401 if the user is authenticated.
── more in #developer-tools 4 stories · sorted by recency
── more on @github 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/comment-nommer-ses-b…] indexed:0 read:4min 2022-03-22 ·