Why Use Emoji?
Using Emoji to mark commit messages has the following advantages:
- Visual Clarity - Identify commit types at a glance
- Improved Efficiency - Quickly understand project history
- Standardization - Maintain consistency in team collaboration
- Fun Factor - Make boring commit logs more engaging
Common Emoji Standards
Core Features
| Emoji | Code | Description | Example |
|---|
| ✨ | :sparkles: | Introduce new features | ✨ Add user login functionality |
| 🐛 | :bug: | Fix bugs | 🐛 Fix navbar display issue on mobile |
| 🔥 | :fire: | Remove code or files | 🔥 Remove deprecated legacy API |
| ♻️ | :recycle: | Refactor code | ♻️ Refactor user authentication module |
| ⚡️ | :zap: | Improve performance | ⚡️ Optimize image loading speed |
| 💄 | :lipstick: | Update UI and styles | 💄 Adjust button styles and colors |
Documentation and Configuration
| Emoji | Code | Description | Example |
|---|
| 📝 | :memo: | Add or update documentation | 📝 Update API documentation |
| 🎨 | :art: | Improve code structure/format | 🎨 Format code and optimize imports |
| 🔧 | :wrench: | Add or update configuration files | 🔧 Update ESLint configuration |
| 🌐 | :globe_with_meridians: | Internationalization and localization | 🌐 Add English translations |
Testing
| Emoji | Code | Description | Example |
|---|
| ✅ | :white_check_mark: | Add or update tests | ✅ Add user registration unit tests |
| 🧪 | :test_tube: | Add failing tests | 🧪 Add edge case test scenarios |
| 🤡 | :clown_face: | Mock data and tests | 🤡 Add API mock data |
Dependencies and Build
| Emoji | Code | Description | Example |
|---|
| ⬆️ | :arrow_up: | Upgrade dependencies | ⬆️ Upgrade React to v18 |
| ⬇️ | :arrow_down: | Downgrade dependencies | ⬇️ Downgrade Node version for compatibility |
| ➕ | :heavy_plus_sign: | Add dependencies | ➕ Add Axios dependency |
| ➖ | :heavy_minus_sign: | Remove dependencies | ➖ Remove unused lodash |
| 📦 | :package: | Add or update compiled files | 📦 Update build configuration |
| 👷 | :construction_worker: | Add or update CI build system | 👷 Add GitHub Actions workflow |
Security and Fixes
| Emoji | Code | Description | Example |
|---|
| 🔒 | :lock: | Fix security issues | 🔒 Fix XSS vulnerability |
| 🚨 | :rotating_light: | Fix compiler/linter warnings | 🚨 Fix TypeScript type errors |
| 🩹 | :adhesive_bandage: | Simple fix for non-critical issues | 🩹 Fix console warning messages |
| 🚑 | :ambulance: | Critical hotfix | 🚑 Emergency fix for production crash |
Development Process
| Emoji | Code | Description | Example |
|---|
| 🚧 | :construction: | Work in progress | 🚧 Implement payment feature (WIP) |
| 💚 | :green_heart: | Fix CI build issues | 💚 Fix CI test failures |
| 🔖 | :bookmark: | Release/version tags | 🔖 Release v1.2.0 |
| 🎉 | :tada: | Initialize project | 🎉 Initialize project structure |
| 🗃️ | :card_file_box: | Database-related changes | 🗃️ Add user table indexes |
Other Common Uses
| Emoji | Code | Description | Example |
|---|
| 💡 | :bulb: | Add or update source code comments | 💡 Add comments for complex algorithms |
| 🔊 | :loud_sound: | Add or update logs | 🔊 Add detailed error logging |
| 🔇 | :mute: | Remove logs | 🔇 Remove debug logs |
| 🚀 | :rocket: | Deploy features | 🚀 Deploy to production |
| 👽 | :alien: | Update code due to external API changes | 👽 Update for new Google Maps API |
| 🍱 | :bento: | Add or update assets | 🍱 Add product images and icons |
| ♿️ | :wheelchair: | Improve accessibility | ♿️ Add ARIA labels for accessibility |
| 🥚 | :egg: | Add or update easter eggs | 🥚 Add Konami code easter egg |
| 🙈 | :see_no_evil: | Add or update .gitignore | 🙈 Ignore .env files |
VS Code Extensions
- Gitmoji - Provides emoji picker
- Conventional Commits - Standardizes commit message format
- Git Emoji Commit - Quickly insert emojis
References