Related courses
See All Courses7 Best Practices of Git Commit Messages
Best Practices for Git Commit Messages
When writing Git commit messages, adhering to guidelines is crucial for clarity and collaboration. In this article, we will discuss effective patterns and best practices that can significantly enhance the quality of your commit messages. Following these guidelines can provide valuable context and clarity for yourself and your team.
Commit Sample
To structure your commits effectively, consider the following format:
type
Choose one of the following types for your commit:
build
: Related to build process changesci
: Related to continuous integration setup changeschore
: About build process or auxiliary tool changesdocs
: Limited to documentation changesfeat
: Introducing new featuresfix
: Addressing bug fixesperf
: Enhancing code performancerefactor
: Code changes without bug fixes or new featuresrevert
: Reverting previous changesstyle
: Markup, formatting, or whitespace changestest
: Adding missing tests
optional content
Provide optional content within parentheses to provide additional context, for example:
subject
The subject should concisely describe the change. Follow these guidelines:
- Use imperative form and present tense (e.g., "change" instead of "changed" or "changes").
- Avoid ending the subject line with a period.
optional body
Similar to the subject, maintain imperative form and present tense. The body should explain the motivation behind the change and highlight any notable contrasts with previous behavior.
Run Code from Your Browser - No Installation Required
7 Rules for Effective Commit Messages
To write impactful commit messages, follow these rules:
- Separate the subject from the body with a blank line.
- Limit the subject line to a maximum of 50 characters.
- Start the subject line with a lowercase letter and use the present tense.
- Avoid ending the subject line with a period.
- Use the imperative mood in the subject line.
- Wrap the body at a maximum of 72 characters per line.
- Utilize the body to explain the "what" and "why" of the changes rather than the "how."
Good Commit Examples
The commit message means that a change has been made to the filtration logic in the codebase to address and fix an issue related to filtering. The commit is categorized as a fix, which resolves a bug or issue. The filter is the specific area of code affected, as indicated in parentheses. The commit message suggests that the logic for filtration has been modified or altered in some way.
The commit message means that a new feature related to authentication has been added to the codebase. Specifically, it states that Google authentication functionality has been implemented or integrated into the system. The commit is categorized as a feat, indicating the introduction of a new feature. In this case, the feature is the ability to authenticate users using Google authentication.
By implementing these recommended patterns and best practices, you can ensure that your Git commit messages provide clear and concise information about the changes made. Well-structured commit messages promote collaboration, streamline code maintenance, and enhance project understanding for you and your team.
FAQs
Q: What if my commit doesn't match 50 characters for the subject?
A: Keeping the subject fit within 50 characters is recommended, ensuring readability and clearness. However, If your message exceeds 50 characters, focus on the most critical information and consider moving additional details to the optional body section.
Q: Can I use past tense in commit messages?
A: The present tense and imperative mood are recommended to make the message more actionable and align with Git commit message conventions.
Q: Should I always include the optional body in my commits?
A: The body is not necessary to include in the commit message. However, providing additional explanation, context, and reasons for committing is beneficial.
Q: How can I group related commits together?
A: To group related commits under a common category, use the same type and optional content but different subjects (e.g., feat(auth)
: Add Google authentication, feat(auth)
: Add Facebook authentication)
Start Learning Coding today and boost your Career Potential
Additional Resources
- Git Official Documentation - Commit Guidelines: The official Git documentation provides guidelines on writing meaningful commit messages and covers best practices and conventions widely followed in the Git community.
- Conventional Commits Specification: The Conventional Commits Specification provides a set of rules for writing commit messages in a standardized way.
- How to Write a Git Commit Message - Chris Beams: This blog post by Chris Beams offers an in-depth explanation of composing well-structured and precise commit messages.
Related courses
See All CoursesPython Projects for Beginners
Python Projects
by Andrii Chornyi
Data Scientist, ML Engineer
Dec, 2023・8 min read
A step-by-step guide to Git installation
How to install Git on macOS, Windows and Linux
by Kyryl Sidak
Data Scientist, ML Engineer
Nov, 2023・8 min read
GitHub vs GitLab
Navigating the Landscape of Code Collaboration
by Oleh Lohvyn
Backend Developer
Jan, 2024・8 min read
Content of this article