In our project, we create commits in an orderly way, using emoji for this and start the commit content with a capital letter. The commit body complements „this commit will...". For example: ":lipstick: Fix main container height"
| Emoji | Code | Description | Name |
|---|---|---|---|
| 🎨 | :art: |
Improve structure / format of the code. | art |
| ⚡️ | :zap: |
Improve performance. | zap |
| 🔥 | :fire: |
Remove code or files. | fire |
| 🐛 | :bug: |
Fix a bug. | bug |
| 🚑️ | :ambulance: |
Critical hotfix. | ambulance |
| ✨ | :sparkles: |
Introduce new features. | sparkles |
| 📝 | :memo: |
Add or update documentation. | memo |
| 🚀 | :rocket: |
Deploy stuff. | rocket |
| 💄 | :lipstick: |
Add or update the UI and style files. | lipstick |
| 🎉 | :tada: |
Begin a project. | tada |
| ✅ | :white_check_mark: |
Add or update tests. | white-check-mark |
| 🔒️ | :lock: |
Fix security issues. | lock |
| 🔖 | :bookmark: |
Release / Version tags. | bookmark |
| 🚨 | :rotating_light: |
Fix compiler / linter warnings. | rotating-light |
| 🚧 | :construction: |
Work in progress. | construction |
| 💚 | :green_heart: |
Fix CI Build. | green-heart |
| ⬇️ | :arrow_down: |
Downgrade dependencies. | arrow-down |
| ⬆️ | :arrow_up: |
Upgrade dependencies. | arrow-up |
| 📌 | :pushpin: |
Pin dependencies to specific versions. | pushpin |
| 👷 | :construction_worker: |
Add or update CI build system. | construction-worker |
| 📈 | :chart_with_upwards_trend: |
Add or update analytics or track code. | chart-with-upwards-trend |
| ♻️ | :recycle: |
Refactor code. | recycle |
| ➕ | :heavy_plus_sign: |
Add a dependency. | heavy-plus-sign |
| ➖ | :heavy_minus_sign: |
Remove a dependency. | heavy-minus-sign |
| 🔧 | :wrench: |
Add or update configuration files. | wrench |
| 🔨 | :hammer: |
Add or update development scripts. | hammer |
| 🌐 | :globe_with_meridians: |
Internationalization and localization. | globe-with-meridians |
| ✏️ | :pencil2: |
Fix typos. | pencil2 |
| 💩 | :poop: |
Write bad code that needs to be improved. | poop |
| ⏪️ | :rewind: |
Revert changes. | rewind |
| 🔀 | :twisted_rightwards_arrows: |
Merge branches. | twisted-rightwards-arrows |
| 📦️ | :package: |
Add or update compiled files or packages. | package |
| 👽️ | :alien: |
Update code due to external API changes. | alien |
| 🚚 | :truck: |
Move or rename resources (e.g.: files, paths, routes). | truck |
| 📄 | :page_facing_up: |
Add or update license. | page-facing-up |
| 💥 | :boom: |
Introduce breaking changes. | boom |
| 🍱 | :bento: |
Add or update assets. | bento |
| ♿️ | :wheelchair: |
Improve accessibility. | wheelchair |
| 💡 | :bulb: |
Add or update comments in source code. | bulb |
| 🍻 | :beers: |
Write code drunkenly. | beers |
| 💬 | :speech_balloon: |
Add or update text and literals. | speech-balloon |
| 🗃️ | :card_file_box: |
Perform database related changes. | card-file-box |
| 🔊 | :loud_sound: |
Add or update logs. | loud-sound |
| 🔇 | :mute: |
Remove logs. | mute |
| 👥 | :busts_in_silhouette: |
Add or update contributor(s). | busts-in-silhouette |
| 🚸 | :children_crossing: |
Improve user experience / usability. | children-crossing |
| 🏗️ | :building_construction: |
Make architectural changes. | building-construction |
| 📱 | :iphone: |
Work on responsive design. | iphone |
| 🤡 | :clown_face: |
Mock things. | clown-face |
| 🥚 | :egg: |
Add or update an easter egg. | egg |
| 🙈 | :see_no_evil: |
Add or update a .gitignore file. | see-no-evil |
| 📸 | :camera_flash: |
Add or update snapshots. | camera-flash |
| ⚗️ | :alembic: |
Perform experiments. | alembic |
| 🔍️ | :mag: |
Improve SEO. | mag |
| 🏷️ | :label: |
Add or update types. | label |
| 🌱 | :seedling: |
Add or update seed files. | seedling |
| 🚩 | :triangular_flag_on_post: |
Add, update, or remove feature flags. | triangular-flag-on-post |
| 🥅 | :goal_net: |
Catch errors. | goal-net |
| 💫 | :dizzy: |
Add or update animations and transitions. | animation |
| 🗑️ | :wastebasket: |
Deprecate code that needs to be cleaned up. | wastebasket |
| 🛂 | :passport_control: |
Work on code related to authorization, roles and permissions. | passport-control |
| 🩹 | :adhesive_bandage: |
Simple fix for a non-critical issue. | adhesive-bandage |
| 🧐 | :monocle_face: |
Data exploration/inspection. | monocle-face |
| ⚰️ | :coffin: |
Remove dead code. | coffin |
In most cases, your change will fit into a pretty obvious emoji category. If it doesn't, you should think hard about whether or not you're making a clean change.
Often you can break up changes into two or more commits that each accomplish their own specific type of action. If that means you only change one tiny line or fix a simple typo in a commit, so be it! It should be a no-brainer that any given commit does exactly what it says it does — and only what is says it does. No side-effects.
In general, you should use exactly one emoji per commit message. In rare cases, you should use a second emoji (e.g. when using something like ⚡ to signify that whatever you just did — 🐛, 🔥, etc. — was a breaking change).
Emoji will also depend on your client/user. A back-end API might use ✨ when adding new API endpoints, and the front-end app might use ✨ when using those endpoints to display new content.
:[EMOJI_NAME]: [THE COMMIT WILL...]
:sparkles: Add cool animations:bug: Fix the flicker
[:]([A-Z a-z])\w+[:] [A-Z]\w.*$
RegEx example
🐛 Fix the flicker caused by the drawer✨ Add a super cool animation for the drawer♻️ Refactor drawer code🔥 Remove deprecated drawer code📦 Install react-littera@2.1.4