commit-message-emoji
Every commit is important. So let's celebrate each and every commit with a corresponding emoji! :smile:
Top Related Projects
An emoji guide for your commit messages. 😜
/sBin/StyleGuide/Git/CommitMessage
The commitizen command line utility. #BlackLivesMatter
Generate changelogs and release notes from a project's commit messages and metadata.
Git hooks made easy 🐶 woof!
Quick Overview
The dannyfritz/commit-message-emoji repository is a guide for using emojis in Git commit messages. It provides a comprehensive list of emojis with corresponding commit types, making it easier for developers to add visual context to their commit history. This project aims to standardize and enhance the readability of commit messages across projects.
Pros
- Improves commit message readability at a glance
- Adds visual context to commit history
- Encourages consistent commit message formatting across team members
- Can make code review processes more efficient
Cons
- May be considered unnecessary or distracting by some developers
- Requires team agreement and adoption for consistency
- Can be overused or misused, potentially reducing the effectiveness
- Not all platforms or Git clients support emoji rendering equally
Getting Started
To start using emojis in your commit messages, follow these steps:
- Choose an appropriate emoji from the list provided in the repository.
- Add the emoji at the beginning of your commit message.
Example:
git commit -m ":sparkles: Add new feature for user authentication"
For more consistent usage, consider creating a commit template or using a commit linting tool that incorporates these emojis.
Competitor Comparisons
An emoji guide for your commit messages. 😜
Pros of gitmoji
- More comprehensive emoji set with 69 options compared to 47 in commit-message-emoji
- Includes a CLI tool for easier integration into workflows
- Actively maintained with regular updates and contributions
Cons of gitmoji
- May be overwhelming for users who prefer a simpler set of emojis
- Requires learning a larger set of emoji meanings and use cases
- CLI tool adds complexity for users who prefer a straightforward approach
Code Comparison
gitmoji:
{
"gitmoji": [
{
"emoji": "🎨",
"entity": "🎨",
"code": ":art:",
"description": "Improve structure / format of the code.",
"name": "art"
},
// ... more entries
]
}
commit-message-emoji:
| Commit type | Emoji |
|:---------------------------|:----------------------------------------------|
| Initial commit | :tada: `:tada:` |
| Version tag | :bookmark: `:bookmark:` |
| New feature | :sparkles: `:sparkles:` |
| Bugfix | :bug: `:bug:` |
| Documentation | :books: `:books:` |
Both projects aim to standardize emoji usage in commit messages, but gitmoji offers a more extensive set of options and additional tooling, while commit-message-emoji provides a simpler, more focused approach.
/sBin/StyleGuide/Git/CommitMessage
Pros of styleguide-git-commit-message
- Provides a more comprehensive guide for commit message structure and content
- Includes examples of good and bad commit messages
- Offers a detailed list of commit types with explanations
Cons of styleguide-git-commit-message
- Less focus on emojis, which can make messages less visually appealing
- May be overwhelming for beginners due to its detailed nature
- Lacks a quick reference table for easy emoji lookup
Code Comparison
styleguide-git-commit-message:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
commit-message-emoji:
:emoji: Subject
The styleguide-git-commit-message repository provides a more structured approach to commit messages, including separate sections for the subject, body, and footer. In contrast, commit-message-emoji focuses on a simpler format with an emoji followed by the subject.
styleguide-git-commit-message offers a more detailed guide for writing informative commit messages, which can be beneficial for larger projects or teams that require more context. However, this approach may be too verbose for smaller projects or individual developers.
commit-message-emoji's simplicity and visual appeal make it easier to quickly scan commit histories and identify the nature of changes at a glance. This can be particularly useful for projects with frequent commits or when working with visual learners.
Ultimately, the choice between these two approaches depends on the project's needs, team preferences, and the desired balance between detailed information and quick visual cues in commit messages.
The commitizen command line utility. #BlackLivesMatter
Pros of cz-cli
- Provides an interactive CLI for creating standardized commit messages
- Supports customizable commit message formats and prompts
- Integrates with popular tools and can be extended with plugins
Cons of cz-cli
- Requires additional setup and configuration
- May be overkill for smaller projects or teams
- Learning curve for new users unfamiliar with the tool
Code Comparison
commit-message-emoji:
📦 NEW: Add new feature
🐛 FIX: Fix bug in existing feature
📖 DOC: Update documentation
cz-cli:
module.exports = {
types: [
{ value: 'feat', name: 'feat: A new feature' },
{ value: 'fix', name: 'fix: A bug fix' },
{ value: 'docs', name: 'docs: Documentation only changes' }
]
};
Summary
commit-message-emoji is a simple reference for adding emojis to commit messages, while cz-cli is a more comprehensive tool for standardizing commit messages across a project or team. commit-message-emoji is easier to adopt but less flexible, whereas cz-cli offers more customization options but requires more setup. The choice between the two depends on the project's needs and team preferences.
Generate changelogs and release notes from a project's commit messages and metadata.
Pros of conventional-changelog
- Provides a standardized format for commit messages, improving consistency and readability
- Generates changelogs automatically based on commit messages
- Supports multiple popular commit conventions (e.g., Angular, Atom, Codemirror)
Cons of conventional-changelog
- Requires a steeper learning curve for team members to adopt the commit message format
- May feel overly structured for smaller projects or individual developers
- Lacks visual representation (emojis) that can quickly convey the type of change
Code comparison
conventional-changelog:
feat(parser): add ability to parse arrays
fix(logging): correctly handle nested errors
docs: update API documentation
commit-message-emoji:
✨ Add ability to parse arrays
🐛 Correctly handle nested errors
📚 Update API documentation
Summary
conventional-changelog offers a more structured approach to commit messages and changelog generation, making it suitable for larger projects and teams. commit-message-emoji provides a visually appealing and quick-to-understand format using emojis, which can be beneficial for smaller projects or individual developers. The choice between the two depends on project size, team preferences, and the desired level of standardization in commit messages.
Git hooks made easy 🐶 woof!
Pros of husky
- Offers a more comprehensive Git hooks solution, allowing for various pre-commit, pre-push, and other hooks
- Provides an easier setup process with npm/yarn integration
- Supports multiple programming languages and frameworks
Cons of husky
- Requires more configuration and setup compared to commit-message-emoji
- May be considered overkill for projects that only need commit message formatting
Code Comparison
commit-message-emoji:
📦 NEW: Add new feature
🐛 FIX: Fix bug in existing feature
📖 DOC: Update documentation
husky:
{
"husky": {
"hooks": {
"pre-commit": "npm test",
"pre-push": "npm run lint"
}
}
}
Summary
commit-message-emoji is a simple, focused tool for adding emojis to commit messages, while husky is a more comprehensive Git hooks solution. commit-message-emoji is easier to implement for basic commit message formatting, but husky offers more flexibility and features for managing various Git hooks across different project types.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Commit Message Emoji ð
Every commit is important. So let's celebrate each and every commit with a corresponding emoji! ð
Oh, and it can also help with glancing over commit messages to figure out what kind of changes have been made. ð
Usage
Prepend every commit message with an emoji with this form:
<emoji> commit message
.
For commits with multiple types of messages, use multiple lines:
<emoji> commit message
<emoji2> commit message2
Which Emoji to Use? â
Commit Type | Emoji |
---|---|
Initial Commit | ð Party Popper |
Version Tag | ð Bookmark |
New Feature | ⨠Sparkles |
Bugfix | ð Bug |
Security Fix | ð Lock |
Metadata | ð Card Index |
Refactoring | â»ï¸ Black Universal Recycling Symbol |
Documentation | ð Books |
Internationalization | ð Globe With Meridians |
Accessibility | â¿ Wheelchair |
Performance | ð Horse |
Cosmetic | ð¨ Artist Palette |
Tooling | ð§ Wrench |
Tests | ð¨ Police Cars Revolving Light |
Deprecation | ð© Pile of Poo |
Removal | ðï¸ Wastebasket |
Work In Progress (WIP) | ð§ Construction Sign |
Using Emoji is Hard! ð¡
Here are some ways to more easily integrate emoji into your workflow.
Comparison
You can be the judge on which is easier to grok.
Example taken from here
Commits Without Emoji ð§
0.5.2
Fix exporting of the library to include _.ifElse
0.5.1
add _.ifElse to README.md
0.5.0
add _.ifElse
fix JSDoc comment for _.call
Fix _.not documentation example.
Update JSDoc comments.
0.4.1
Update links to documentation.
Fix documentation.
Link to documentation pages.
0.4.0
Added a curried version of the mixin for lodash-fp.
Switch from lodash to lodash-compat
Add shields to README.
Add missing methods to index.js.
Commits with Emoji ð
ð 0.5.2
ð Fix exporting of the library to include _.ifElse
ð 0.5.1
ð add _.ifElse to README.md
ð 0.5.0
⨠add _.ifElse
ð fix JSDoc comment for _.call
ð Fix _.not documentation example.
ð Update JSDoc comments.
ð 0.4.1
ð Update links to documentation.
ð Fix documentation.
ð Link to documentation pages.
ð 0.4.0
⨠Added a curried version of the mixin for lodash-fp.
ð Switch from lodash to lodash-compat
ð Add shields to README.
ð Add missing methods to index.js.
Top Related Projects
An emoji guide for your commit messages. 😜
/sBin/StyleGuide/Git/CommitMessage
The commitizen command line utility. #BlackLivesMatter
Generate changelogs and release notes from a project's commit messages and metadata.
Git hooks made easy 🐶 woof!
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot