Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Gitmoji, a journey to commit like a hipster

Gitmoji, a journey to commit like a hipster

"Fix some bugs" "
I changed that shit"

This may bring back bad memories and that's why commit message conventions are important. As a developer you probably already applied them, but have you tried Emojis?

They are by nature expressive, very readable. I'll show you why there are useful and how to use them in your developer life to commit like a hipster 😎 !


November 03, 2020

More Decks by pontoreau.sylvain@gmail.com

Other Decks in Programming


  1. 😎 A journey to commit like a hipster

  2. 🖖 Hello! @spontoreau Sylvain Pontoreau How it’s going 🌹 ⚔

    😐 How it started -<@ O=|====> o_o Emo(ticons/jis), I’m in that business since 1998 © And I like to do funny things with them 😬 🎪 Co-organizer 📕 Book writer Microsoft 󰳕 Work with
  3. 🤔 what is the problem?

  4. 💬 Commit messages… (The guy who left the company) Friday

    afternoon: (You, trying to understand what is going on…) Monday morning, outage on prod:
  5. 😞 But it’s not that easy! (Maybe you everyday) (The

    guy who’s joining your team)
  6. 📘 Convention to the rescue The conventional commits specification

  7. 📚 Conventional Commits A set of rules for creating explicit

    commit history • How it works: Format types(context): message Breaking changes ! • Types can be extended easily (impr, chore, refactor, perf, docs, …) • Automation made simple (changelog, semantic versioning, …) Types fix / feat
  8. 💩 Is Conventional Commits bad?

  9. 👀 Predictability of the human eye Do you know F-Pattern?

    • In text-heavy content, most humans scan information by making an “F” • F-Pattern is bad for user • Optimize horizontal movement of the eye is a key point • This is why Conventional Commits specification is not that great
  10. ❓ Why consider emojis instead? (No need to explain what

    it stands for) First, the are super expressive! 🎉 ✅ 📱 🚧 💩 🐛 🗑
  11. 🎉 Tada! ✅ Test are ok! 🚧 We are working

    on it! 🗑 Let’s drop that! 🐛 It’s not working 👁 Why consider emojis instead? Where is the bug? 👀 Your eyes directly look here Secondly, they optimize reading! 😉 Optimized scan
  12. gitm😎ji

  13. A convention based on emojis! 📒Gitmoji https://gitmoji.carloscuesta.me/

  14. 😜 Gitmoji The basic ones! 🐛 :bug: Fix a bug.

    ✨ :sparkles: Introduce new feature.
  15. 😍Gitmoji Refacto / Improvement ♻ :recycle: Refactor code. ⚡ :zap:

    Improve preformance. 🚚 :truck: Move or rename resources 🏗 :building_construct ion: Make architectural changes. 🎨 :art: Improve structure / format of the code.
  16. 😆 Gitmoji Package management ➖ :heavy_minus_sign: Remove a dependency. ➕

    :heavy_plus_sign: Add a dependency. ⬆ :arrow_up: Upgrade dependencies ⬇ :arror_down: Downgrade dependencies. 📌 :pushpin: Pin dependencies to specific versions.
  17. 🤡 :clown_face: Mock things. 🧪 :test_tube: Add a failing test.

    😳 Gitmoji Testing ✅ :white_check_mark: Add, update, or pass tests.
  18. 😂 Gitmoji Other useful emojis 🚨 :rotating_light: FIx compiler /

    linter warnings. 👷 :construction_work er: Add or update CI build system. 🙈 :see_no_evil: Add or update a .gitignore file. 💥 :boom: Introduce breaking changes. 🔧 :wrench: Add or update configuration files.
  19. 󰠁 for developers 󰞵

  20. 💻 Gitmoji CLI There is a CLI for that 🤩

  21. 🖥 Gitmoji plugins/extensions For people who don’t like terminals 😅

    https://gitmoji.dev/related-tools And more: - atom - sublim - macOS app - … Browser extensions IntelliJ VS Code
  22. 📝 Changelog No more excuses 😊 https://github.com/frinyvonnick/gitmoji-changelog

  23. 🔖Semantic versioning Major messages.contains(💥) Minor !messages.contains(💥) && messages.contains(✨) Not a

    big deal 🦸 Patch !messages.contains(💥) && !messages.contains(✨)
  24. 🥳 conclusion


  26. Questions❓ Feel free to ask! 󰢨󰢧

  27. 🙏 Thanks! 󰢛 https://speakerdeck.com/spontoreau