Today, I started my new job at JStratégia as a mobile developer. For the first 4 hours, I worked on setting up my brand new Lenovo Thinkpad, (never had one, they’re sweeeeet !) getting my emails set up on both mobile and on the laptop, meeting the team…

And then I was explained for the remaining 2 hours how the neighboring team worked for the past 6 months, and it was a mindblowing experience.

One of the biggest revelations I had out of the many great practices they had within their git workflow, was to use emojis at the beginning of the title of the pull request. This might sound odd at first, but here’s some examples :

If it’s a feature, name it, for example :
? Mobile : Responsiveness to sales view

If it’s a bugfix, use this :
? Apache : Access to root from a regex pasted in url

For adding tests :
☑ Setup : Compat. Linux, Mac OS, Windows and Solaris

In case you’re upgrading a library the project depends on, or adding new ones :
? NPM : leftpad 2.0.2 to 2.1.4

When it involves the documentation :
? Deployment : Extra troubleshooting

This has multiple advantages :

1. It’s fun

Well, duh. Emojis are fun. ?

2. It’s easier to give a meaningful, but descriptive title.

You can waste a lot of time trying to conjugate your sentences in a coherent manner, but here you’ll keep it short and sweet.

3. It’ll give quick-scan skills to reviewers

You won’t feel guilty of writing “Fixed deployment bugs” and fear that any extra details will be glossed over if you add anything more, but reducing on details won’t help either. Plus, there is now a clear distinction between category, sub-category and description.

4. You can count ’em !

When you’ll be making a post-mortem, you’ll be able to easily count emojis by making a search for them and counting the results for every time they come up. This means you can count how many times bugs, features, documentation and testing were worked on, and compare with past projects to get a feel of what’s been prioritized the most.

So, what do you folks do at work to improve your git workflow ? I’d love to know !