There are no strict rules for writing commit messages but When working on a project on GitHub, it's important to communicate clearly and concisely about the changes you've made. One way to do this is through the use of keywords in your commit messages.
These keywords, or labels, help to indicate the nature of the changes and make it easier for others to understand the context of your contributions.
Here are some common keywords and what they indicate:
FEAT: Use this keyword to indicate that you are committing to a new feature.
"FEAT: Add new login functionality."
FIX: Use this keyword to indicate that you are committing a fix for a specific problem or issue.
"FIX: Fix bug causing crashes on certain devices."
STYLE: Use this keyword to indicate that you are making changes to the style or formatting of the code, but not its functionality.
"STYLE: Update indentation in main.js."
REFACTOR: Use this keyword to indicate that you are making changes to the code that improve its structure or organization, but do not add new features or fix bugs.
"REFACTOR: Refactor the code to improve readability."
TEST: Use this keyword to indicate that you are adding or updating tests for the code.
"TEST: Add new unit tests for login functionality."
CHORE: Use this keyword to indicate that you are making changes to the build process or other tasks that are not directly related to the code itself.
"CHORE: Update dependencies in package.json."
PERF: Use this keyword to indicate that you are making changes to improve the performance of the code.
"PERF: Optimize image loading for faster performance."
CI: Use this keyword to indicate that you are making changes to the continuous integration process.
"CI: Fix issue with test pipeline on Travis CI."
BUILD: Use this keyword to indicate that you are making changes to the build process.
"BUILD: Add new script for building the production version of the app."
FIX: Use this keyword to indicate that you have fixed some bug in an application.
"FIX: Fix login bug caused by incorrect validation of user input #1234"
By using these keywords in your commit messages, you can help to make your contributions more clear and more understandable to others. However, it is important to note that these are just suggestions and not all projects use them, it's important to check the project's documentation to see if there are any specific guidelines you should follow.
In summary, clear and concise commit messages are a key aspect of good development practices. Using keywords in your commit messages can help to indicate the nature of the changes you've made, making it easier for others to understand and review your contributions.
Top comments (16)
Simple but efficient technique! Congrats.
Although, I would add one advice that I find critical:
Choose a naming convention and stick with it. It's important teammates use the same pattern. Best way to ensure that it pair programming with new members, but you can also document it.
Or simply use an existing convention, like conventional-commits which is actually the spec this article sums up 😉
Thanks will have a read 🙌
not all organizations will follow that framework.
Me and all teammates follows this technique most of the time
There are no strict rules, but there are conventions!
I am surprised not to see any reference to conventional-commits which is the actual specification behind this practice. The spec, however, defines lowercase types (feat VS FEAT).
There is also a bit more to it (footers, breaking changes).
For everyone interest, i strongly suggest to read the spec and the angular conventions directly!
conventional-commits is definitely the more popular/standard way to do this, especially useful for (auto) release management :)
Just want to make sure, is it “ REACTOR” or “REFACTOR”?
Thanks, Will fix it
FIX: refactor
Crazy simple. Good... thanks...
I hoped it help you 😌
Lately, I've been using emoji to categorize my messages. Though I leave it to you to pick which you would use for the keywords above..
👍🏼👌🏼✍️💅🌲🕸️🐛👾🎛️🪠🔧🔨⚒️🛠️⛏️🔗🚫🆕🆙🆗🚮⚕️🏁🎨🚛🚀
I like this schematic naming! Your article sums it up perfectly. 👍
Personally, though, I use emojis instead of prefixes because they stand out more.
Yeah not doubt in that, but I feel it's about the preference
Amazing content, thanks for sharing.