Si vous ĂȘtes dĂ©veloppeur, ou dans le milieu du dĂ©veloppement, vous ĂȘtes trĂšs certainement familier avec l’outil bien connu des dĂ©veloppeurs, j’ai nommĂ© Git.

Pour celles et ceux d’entre vous qui ne seraient pas familier avec Git, je vous renvoie vers la page WikipĂ©dia qui vous expliquera cela bien mieux que moi.

Pour les autres, nous allons aujourd’hui voir un outil formidable pour agrĂ©menter vos messages de commit afin de les rendre plus lisible et de comprendre ce que fait un commit en un seul coup d’oeil. J’ai donc l’honneur de vous prĂ©senter Gitmoji

Présentation

Gitmoji est un outil dĂ©veloppĂ© par Carlos Cuesta et se prĂ©sente sous la forme d’un site internet.

Le but de cet outil est trÚs simple, associé un emoji à un message de commit.

Pour vulgariser, un message de commit est un message dĂ©crivant ce qui a Ă©tĂ© ajoutĂ©, modifiĂ© ou encore supprimĂ© sur un repo git. Par exemple, si j’ajoute une fonctionnalitĂ© d’inscription et de connexion sur le projet sur lequel je travaille, quand j’enverrai (push) cette fonctionnalitĂ© sur le repo git, j’écrirai un message de commit qui ressemblerait probablement Ă  celui-ci:

Add inscription and connection

Ce message a pour but de dĂ©crire ce qui a Ă©tĂ© modifiĂ©, ainsi, les autres personnes travaillant sur le mĂȘme projet pourront savoir pourquoi certains fichiers ont Ă©tĂ© ajoutĂ©s ou modifiĂ©s.

Avec Gitmoji, ce message ressemblerait Ă :

✹ Add inscription and connection

Différences

Vous vous dites surement que cela ne change pas grand-chose et que c’est purement cosmĂ©tique. Ce Ă  quoi je rĂ©pondrais: oui.. et non.

Vous pourrez voir sur le site de Gitmoji que chaque emoji décrit une situation particuliÚre:

1

À force d’utiliser cet outil, vous pourrez identifier en un clin d’oeil ce qui a Ă©tĂ© modifiĂ© sur votre projet, ainsi lorsque vous verrez l’historique des commits depuis votre client Git prĂ©fĂ©rĂ© vous saurez tout de suite Ă  quoi vous avez Ă  faire.

Par exemple, voici l’historique des commits d’un projet qui n’utilise pas Gitmoji:

2

Comme vous le voyez, tous les messages ont l’air de se ressembler, et on ne peut pas discerner facilement ce qui a Ă©tĂ© modifiĂ© sans lire un Ă  un les messages de commit.

Voici maintenant un historique de commit d’un projet utilisant Gitmoji:

3

Comme vous pouvez le constater, chaque message possĂšde un Ă©moji dĂ©crivant ce qu’il s’est passĂ© sur ce commit. Il suffit d’apercevoir un “🐛” pour savoir que ce commit a servi Ă  corriger un bug, un “➕” signifie qu’une dĂ©pendance a Ă©tĂ© ajoutĂ©e au projet, un â€œđŸ”„â€ signifie que des fichiers ou du code a Ă©tĂ© supprimĂ© et un “✹” signifie qu’une nouvelle fonctionnalitĂ© a Ă©tĂ© ajoutĂ©e.

En devenant familier avec Gitmoji vous pourrez ainsi distinguer chaque action sur un projet de maniĂšre simple et ludique.

Changelog

Un Changelog, se traduisant littĂ©ralement par “Journal des modifications”, est un fichier dans lequel on retrouve une liste des modifications, triĂ©es par ordre dĂ©croissant, qui ont Ă©tĂ© apportĂ©es Ă  un projet.

Il existe une convention pour les messages de commits appelĂ©e Conventional Commits. Un des avantages de cette convention est de gĂ©nĂ©rer facilement un Changelog suivant les messages de commits d’un projet.

Par exemple, si mon message de commit commence par fix:, un outil me permettra d’automatiquement de classer ce commit dans une section Bug fixes, si celui-ci commence par feat:, le commit sera cette fois-ci classĂ© dans la section Features.

4

Mais, comment fait-on si on utilise Gitmoji ?

Et bien, Carlos Cuesta a pensé à tout ! En effet, celui-ci a également créé un outil nommé Gitmoji-changelog permettant de générer un changelog en se basant sur les émojis précédant un message de commit.

Une fois l’outil installĂ©, il vous suffira de vous rendre Ă  la racine de votre repo depuis un terminal et de lancer la commande gitmoji-changelog afin de gĂ©nĂ©rer un changelog pour votre projet.

L’outil classera automatiquement vos commits dans les bonnes catĂ©gories suivant l’émoji, par exemple, les Ă©mojis “✹” et â€œđŸ‘·â€â™‚ïžâ€ correspondent tout deux Ă  leur maniĂšre Ă  un ajout, l’outil les classera alors dans la catĂ©gorie Added.

5

Bien entendu, tout est configurable !

Vous vous retrouverez donc avec des jolis changelogs, dont chaque modification sera facile Ă  identifier !

Conclusion

Gitmoji est un outil, bien que dĂ©bordant de simplicitĂ©, qui permet d’amĂ©liorer grandement la lisibilitĂ© et la clartĂ© des messages de commits d’un projet git tout en y ajoutant une touche de fun. J’ai dĂ©couvert cet outil dans ma prĂ©cĂ©dente entreprise qui l’utilisait et depuis je l’utilise dans tous mes projets.

Et vous, qu’en pensez-vous ? Êtes-vous client de ce genre d’outils ? Et, quel que soit votre rĂ©ponse, pourquoi ?

Vous connaissez d’autres outils permettant d’amĂ©liorer ses messages de commits ou tout simplement des outils permettant d’amĂ©liorer la clartĂ© gĂ©nĂ©rale d’un projet ? N’hĂ©sitez pas Ă  me les faire partager, ceux-ci feront peut-ĂȘtre l’objet d’un prochain article 😁.