Skip to main content

How to write good commit message in Git?

Published 2 min readMarkdown
Part of seriesGIT
How to write good commit message in Git?

Writing clear and informative commit messages is crucial for maintaining a clean and understandable version history in Git. A well-crafted commit message helps you and your collaborators understand the purpose and context of each change. Here are some guidelines for writing good commit messages:

1. Keep It Short and Descriptive:

  • Limit the subject line to 50 characters: The subject line should be a concise summary of the change.

  • Use the imperative mood: Start with a verb, as if giving a command. For example, "Add feature," "Fix bug," or "Update documentation."

2. Provide Context:

  • Explain why, not just what: Briefly explain the reasoning behind the change in the commit body. This helps others understand the motivation behind the code modifications.

  • Reference relevant issues or tickets: If there's a related issue or task, include a reference to it. For example, "Closes #123" or "Fixes #456."

3. Break Down Changes:

  • Make small, atomic commits: Each commit should represent a single logical change. Avoid bundling unrelated changes in a single commit.

  • Separate concerns: If your commit includes changes to multiple files, make sure they are related. If not, consider splitting them into separate commits.

4. Be Mindful of Formatting:

  • Use proper grammar and punctuation: Treat your commit messages like any other piece of writing.

  • Capitalize the subject line: Follow standard capitalization rules.

  • Avoid unnecessary details: Save the details for the commit body; the subject line should be a high-level summary.

5. Be Explicit About Changes:

  • Clearly mention what changed: Provide enough information for someone to understand the change without having to look at the code.

  • Include relevant details: If applicable, mention specific files, functions, or modules affected by the commit.

Example:

Short (50 chars or less) and descriptive
Brief explanation in the body, if necessary.

Fixes #123

Details about changes in bullet points:
- Explain one
- Explain two

Additional context or information, if needed.

Bad Example:

Changed stuff

Good Example:

Add user authentication feature

This commit introduces a new feature for user authentication,
enabling users to securely log in and manage their accounts.

Closes #456

- Added login and registration routes
- Implemented JWT token authentication
- Updated user model to include hashed passwords
- Improved error handling for authentication failures

By following these guidelines, you contribute to a more understandable and maintainable version history, making it easier for you and your team to collaborate effectively.

About the author

  • Hi! I'm Jakub - the DevOps engineer who is passionate about automation and enjoys a good yerba mate. With expertise in cloud and implementing CI/CD pipelines. I also love playing tennis in free time. Whether it's optimizing processes or acing serves, I'm always up for a challenge.

No comments yet. Be the first to comment.

More from this blog