Convention de commit

Des conventions de commit  ?

Convention de code : OK

Convention de commit : pourquoi ?

Raison simple :

  • éviter les commit <blank>
  • éviter les commit « je sais pas quoi mettre »

Les commit on aussi un autre rôle fondamental : si il sont bien écrits ils permettent de générer automatiquement (Eclipse et Aptana le permettent par exemple) les changelog de votre application.

Convention

Voici la convention que j’utilise.
Elle est très fortement inspirée de la convention Angular2

[<User>] [<Project (with major version)>] <type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

Les types :

  • feat (feature)
  • fix (bug fix)
  • docs (documentation)
  • asset : ajout/maj statics, libs js externe, framework css externe …
  • style (formatting, missing semi colons, …)
  • refactor
  • test

    Scope :

  • DAO
  • Service
  • Tools
  • UI
  • API

Pourquoi ajouter le User alors qu’il est déjà géré par le système de gestion de source (TFS, Git, SVN) ?

Dans mon cas j’ai ajouté le user car sur le projet actuelle je me retrouve

  • avec un problème de restriction de licence : donc 2 user sur le même compte
  • à commiter parfois sur le PC d’un collègue