Ahmad Awais



๐Ÿš€ Emoji-Log โ€” A New Way to Write Your Git Commit Messages and Changelogs

Ahmad AwaisAhmad Awais
๐Ÿ™Œ Howdy! This piece is a part of my 2018 Year in Review (read the context) โ†’

Emoji log is a new way to write your Git Commit Messages. I like emoji. I like โ€™em a lot. Programming, code, geeks, nerds, open source, all of that is inherently dull and sometimes boring. I improve that by using Emoji.

I also am a big fan of the Don’t Repeat Yourself (DRY) philosophy and believe writing better Git commit messagesโ€”ones that are contextual enough to serve as a changelog for your open source softwareโ€”is an important component of DRY.

One of the many workflows I’ve written is Emoji-Log, a straightforward, open source Git commit log standard. It improves the developer experience (DX) by using emoji to create better Git commit messages. For more check out my article on OpenSource.com

Emoji-Log’s philosophy

Instead of memorizing hundreds of emoji, I’ve learned it’s better to keep the categories small and general. Here’s the philosophy that guides writing commit messages with Emoji-Log:

  1. IMPERATIVE: Make your Git commit messages imperative. Write commit message like you’re giving an order.
    โ€” Use โœ… Add instead of โŒ Added.
    โ€” Use โœ… Create instead of โŒ Creating.
  2. RULES: A small number of categories are easy to memorize. Nothing more, nothing less. There are only six types of Emoji log. One should only use these six types and nothing else. Which are
    โ†’ ๐Ÿ“ฆ NEW: [Git Commit Message goes here]
    โ†’ ๐Ÿ‘Œ IMPROVE: [Git Commit Message goes here]
    โ†’ ๐Ÿ› FIX: [Git Commit Message goes here]
    โ†’ ๐Ÿ“– DOC: [Git Commit Message goes here]
    โ†’ ๐Ÿš€ RELEASE: [Git Commit Message goes here]
    โ†’ โœ… TEST: [Git Commit Message goes here]
  3. ACTIONS: Make Git commits based on actions you take. Use a good editor like VSCode to commit the right files with commit messages.
๐ŸŒŸ I recommend that you check out and Star the Emoji-log repo โ†’

I help businesses understand developers ๐Ÿ“Ÿ Just launched Node.js CLI Automation Course ๐Ÿ‘จโ€๐Ÿซ Edutainer at VSCode.pro ๐ŸŽฉ An award-winning GitHub Star open-source engineer & advocate ๐ŸฆŠ Google Developers Expert Web DevRel ๐ŸŒณ Node.js foundation Community Committee Outreach Lead โœŒ๏ธ Author of various open-source dev-tools and software libraries used by millions of developers worldwide โ“ฆ WordPress Core Developer ๐Ÿ“ฃ TEDx Speaker ๐Ÿ™Œ Leading developers and publishing technical content for over a decade ๐Ÿ’œ Loves his wife (Maedah) โฏ Learn more โ†’

Say ๐Ÿ‘‹ on Twitter @MrAhmadAwais | Subscribe to the Developers Takeaway!


Developers Takeaway

Takeaway my professional opinion on open-source, developer relations, growing your business with family, and everything in between! Delivered to your inbox a couple of times every year. I'm even funny at times. I hate spam โ€” pinky-promise!

๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ‘ฉโ€๐Ÿ’ป 118,947 Developers Already Subscribed
Comments 2
  • Marco
    Posted on

    Marco Marco

    Reply Author

    This is great! One silly question if I may… When trying to add and commit one item, I can’t seem to figure out the best way to do this. I have tried e.g.
    git add then
    git commit -m “:package: Add nav and logo”

    This gives me the desired result in my github repo but in my git log I see :package: rather than the box emoji. I’ve also tried using U+1F4D6 instead of :package:

    If I use gnew/gimp etc. everything works as expected.

    What am I screwing up?

    • Ahmad Awais
      Posted on

      Ahmad Awais Ahmad Awais

      Reply Author

      Glad you liked it. A couple of things.

      1. I recommend using actual emoji instead of :package: like shortcodes that only work for GitHub which is no Git
      2. Read Show Emoji in Git Log post to update your Git’s pager
      3. I recommend using one of these workflows โ†’

      Peace! โœŒ๏ธ