Validate-branch-name permet de vérifier le nom des branches.
Tout comme les commits, les noms des branches méritent d'être encadrés, pour qu'on sache le sens de chaque branche. J'étais sceptique au début face à cette pratique, mais finalement, je la trouve très simple et permet à mes projets de gagner en clarté.
Quels noms possibles pour mes branches ?
par défaut, voici les branches qu'on retrouve dans tous les projets :
- main (ou master, déprécié)
- development (ou dev)
- test
- staging (ou preprod)
- production (ou prod)
Ces branches permettent de suivre la vie du projet, et sont des états transitoires incontournables pour tout projet.
Par ailleurs, on a souvent envie de créer des branches plus spécifiques permettant de pousser un travail en cours pour une fonctionnalité donnée, ou un debug... Avant de merge ce travail sur une des branches d'au-dessus. À ce moment-là, comment les nommer ? avec son prénom, parce que c'est ma branche ? avec le nom de ma fonctionnalité ? du ticket associé ? Comment faire la différence entre une branche qui pousse une nouvelle fonctionnalité, et une autre qui règle un bug ?
Voici la liste des préfixes que j'ajoute devant mes branches pour les clarifier :
- feat (ou feature) : Nouvelle fonctionnalité
- fix : Débogage
- update (ou bump) : Mise à jour
- rel (ou release) : point d'étape dans le code, pour sortir une version stable.
Ainsi, mes branches intermédiaires sont maintenant nommées feat/dashboard ou fix/UserController
.
Mais alors comment on s'assure d'avoir cette hygiène de nommage au quotidien dans le projet ? Grâce à validate-branch-name.
Installation
Avant d'installer validate-branch-name, vous aurez besoin d'installer Husky. Si ce n'est pas déjà fait, je vous laisse suivre cette astuce :
Configuration
Il faut ensuite créer un fichier validate-branch-name.config.js
, dans lequel on mettra :
Il faut ensuite préciser à Husky que l'on va appeler cet outil lors du pre-push
. En effet, on peut se permettre de laisser un nom de branche bancal en local, mais dès qu'on voudra pousser la branche sur le serveur distant, il sera important de la vérifier. Si on voulait vérifier le nom de la branche même en local, on pourrait demander à Husky de faire cette vérification lors du hook pre-commit
par exemple.
Et voilà, à chaque fois que vous ferez git push
vous aurez cette vérification qui se lance.

Bon dev !