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 โ†’

Founder & CEO at Langbase.com โ€” Ship hyper-personalized Al apps in seconds ยท Ex VP DevRel Eng. Rapid ยท Google Developers Advisory Board (gDAB) founding member. ๐Ÿง‘โ€๐Ÿ’ป AI/ML/DevTools Angel Investor โฏ AI/ML Advisory Board member San Francisco, DevNetwork

๐ŸŽฉ Award-winning Open Source Engineer & Dev Advocate ๐ŸฆŠ Google Developers Expert Web DevRel ๐Ÿš€ NASA Mars Ingenuity Helicopter mission code contributor ๐Ÿ† 8th GitHub Stars Award recipient with 5x GitHub Stars Award (Listed as GitHub's #1 JavaScript trending developer).

๐ŸŒณ Node.js foundation Community Committee Outreach Lead, Member Linux Foundation, OpenAPI Business Governing Board, and DigitalOcean Navigator. ๐Ÿ“Ÿ Teaching thousands of developers Node.js CLI Automation (100 videos ยท 22 Projects) & VSCode.pro course. Over 142 million views, 24 yrs Blogging, 108K developers learning, 200+ FOSS.

โœŒ๏ธ Author of various open-source dev-tools and software libraries utilized by millions of developers worldwide โ“ฆ WordPress Core Developer ๐Ÿ“ฃ TEDx Speaker with 100+ international talks.

โœจ As quoted by: Satya Nadella ยท CEO of Microsoft โ€” Awais is an awesome example for developers.
๐Ÿ™Œ Leading developers and publishing technical content for over a decade ๐Ÿ’œ Loves his wife (Maedah) โฏ Read more about Ahmad Awais.

๐Ÿ‘‹โ€ฆ Awais is mostly active on ๐• @MrAhmadAwais


Developers Takeaway

Stay ahead in the web dev community with Ahmad's expert insights on open-source, developer relations, dev-tools, and side-hustles. Insider-email-only-content. Don't miss out - subscirbe for a dose of professional advice and a dash of humor. No spam, pinky-promise!

โœจ 172,438 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! โœŒ๏ธ