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:
Ă 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
:
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
:
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
.
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
.
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 đ.