Ahmad Awais

NAVIGATE


SHARE


๐Ÿš€ 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 of โŒ˜ Command Code, the most used coding agent for open models: 160K+ users, 50K+ paying customers. Founded Langbase (AI cloud for agents with memory & tools).

"What an awesome example for developers." โ€” Satya Nadella, CEO of Microsoft, on my NASA Ingenuity code.

NASA Ingenuity Mars Helicopter code contributor ยท 6ร— GitHub Star, one of the first 8 Gold Stars ยท #1 trending JavaScript developer on GitHub ยท 6ร— Google Developer Expert ยท 6ร— Microsoft MVP.

Ex VP DevRel & DevTools at RapidAPI ยท Google Developers Advisory Board (gDAB) founding member ยท OpenAPI Business Governing Board, Linux Foundation ยท SF DevNetwork AI/ML Advisory Board ยท Angel investor (Replit, Resend, Daytona, Gumroad and you?).

Award-winning open source engineering leader: 300+ projects, 50โ€“100M downloads a year, including Shades of Purple (5M+ developers) and corona-cli (10B+ queries).

Taught 217K+ developers via NodeCLI.com and VSCode.pro. 160+ talks. Blogging since 2000, billions of views.

โฏ Read more about Ahmad Awais or come say hi on ๐• @MrAhmadAwais.

Newsletter

The Developer Takeaway

Founder notes on AI, dev tools, and building developer products. No spam.

247,813+ developers 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! โœŒ๏ธ