Often commit messages are tied to one or another Jira ticket or such. For example "ZOO-123: Fix to RabbitMQ binder names." This ties that commit with Jira ticket ZOO-123 that either is about changes to RabbitMQ messaging or about fixing an issue with said messaging. Also, some companies use conventional commits. It is just a way of formatting your commit message so that automated tools can process commits in an easier way. Read about it from https://www.conventionalcommits.org/en/v1.0.0/ An example would be "fix(ZOO-123): Fix to RabbitMQ binder names." There the fix() keyword shows that the commit was for fixing something. A feat() keyword can be for adding a new feature or for working with some new functionality. For example "feat(SCHOOL-23): Add Japanese language." The commit message itself is often in imperative present tense. For example "Fix to" instead of "Fixed". The commit should give a summary of the change. What was done. Keep it concise and clear. Do not add a whole essay. But also do not just write "Added more changes." Which changes? Why? Read about it from https://blog.devgenius.io/make-a-meaningful-git-commit-message-with-semantic-commit-message-b39a79b13aa3 Avoid frustration and all kind of nonsense in the commits. Yes, when the stuff does not work and your earlier commit did not fix it then writing "Get working already!!!!!" or "wgo8g7tfwo82w37fdto238gd" is not a rational way how to deal with the issue. It is unprofessional. In the previous company I worked at, we had one guy who raged in his commit messages. Avoid adding too many details. Instead of writing "Fix to UserNotificationIntegrationTest, BillingIntegrationTest, BaseIntegrationTest, RabbitMQPublisherIntegrationTest" better pick "Fix to integration tests". Which tests, that can be seen from the git commit itself. Neither go with "Added an email support to UserNotificationService by introducing emailSender() method that uses angus-mail library" just write "Add support to send user notifications via email" Some good and bad examples are in https://chris.beams.io/git-commit Also, it does not really help when you finish your whole project and then add it via a single commit that has a commit message of "Initial commit". Answer from mandzeete on reddit.com
Medium
medium.com › @iambonitheuri › the-art-of-writing-meaningful-git-commit-messages-a56887a4cb49
The Art of Writing Meaningful Git Commit Messages | by theurikarue | Medium
August 14, 2024 - Commits serve as an archive of changes. They can become an ancient manuscript to help us decipher the past, and make reasoned decisions in the future. I hope this article has helped you go from ‘Tweaked a few things’ to meaningful messages that benefit everyone on your team. ... [2] https://medium.com/front-end-weekly/how-to-write-good-git-commit-messages-like-a-pro-2c12f01569d9
How to be a Pro at writing a Commit Message!
Chris Beams has a written an excellent article called How to Write a Git Commit Message on this. An excerpt from the original article : The seven rules of a great git commit message Separate subject from body with a blank line Limit the subject line to 50 characters Capitalize the subject line ... More on forum.freecodecamp.org
Best practices for writing Git commit messages?
Often commit messages are tied to one or another Jira ticket or such. For example "ZOO-123: Fix to RabbitMQ binder names." This ties that commit with Jira ticket ZOO-123 that either is about changes to RabbitMQ messaging or about fixing an issue with said messaging. Also, some companies use conventional commits. It is just a way of formatting your commit message so that automated tools can process commits in an easier way. Read about it from https://www.conventionalcommits.org/en/v1.0.0/ An example would be "fix(ZOO-123): Fix to RabbitMQ binder names." There the fix() keyword shows that the commit was for fixing something. A feat() keyword can be for adding a new feature or for working with some new functionality. For example "feat(SCHOOL-23): Add Japanese language." The commit message itself is often in imperative present tense. For example "Fix to" instead of "Fixed". The commit should give a summary of the change. What was done. Keep it concise and clear. Do not add a whole essay. But also do not just write "Added more changes." Which changes? Why? Read about it from https://blog.devgenius.io/make-a-meaningful-git-commit-message-with-semantic-commit-message-b39a79b13aa3 Avoid frustration and all kind of nonsense in the commits. Yes, when the stuff does not work and your earlier commit did not fix it then writing "Get working already!!!!!" or "wgo8g7tfwo82w37fdto238gd" is not a rational way how to deal with the issue. It is unprofessional. In the previous company I worked at, we had one guy who raged in his commit messages. Avoid adding too many details. Instead of writing "Fix to UserNotificationIntegrationTest, BillingIntegrationTest, BaseIntegrationTest, RabbitMQPublisherIntegrationTest" better pick "Fix to integration tests". Which tests, that can be seen from the git commit itself. Neither go with "Added an email support to UserNotificationService by introducing emailSender() method that uses angus-mail library" just write "Add support to send user notifications via email" Some good and bad examples are in https://chris.beams.io/git-commit Also, it does not really help when you finish your whole project and then add it via a single commit that has a commit message of "Initial commit". More on reddit.com
Help me craft the perfect commit message
Only your last one is any good - it explains why you're doing it. The others do not explain why the file is dead or garbage so it is hard to know if it is correct. I generally prefer to reference the commit where the mistake happened so the new commit can be reviewed with some context - maybe you're making another mistake and removing the wrong file? I like to think of the reviewer and ensure they have enough information in the commit message to review and understand what you are doing and can make a judgement that it is correct. Try not to assume too much knowledge of the reviewer. Even if there is no reviewer - you're just committing directly - the future you is a reviewer who may need to look at history and understand why something was done. Leave yourself and others breadcrumbs (or whole pieces of toast if you can) to understand later why things have happened. More on reddit.com
Does it make sense to write commit messages that include notes to yourself on how the project is going?
dear Git, It's been 3 weeks. My code reeks of the sweat I pour into the keyboard. I haven't written a non-infinite loop since Jill was here. This may be the last you hear from me. I'll always look fondly back at our days writing hello world. Yours infinitely, More on reddit.com
Videos
10:47
Git commit message conventions and best practices | TheServerSide
04:15
Git Commit Best Practices | How to Write a Good Commit Message ...
03:43
Writing Good Commit Messages Explained: Best Practices for Beginners ...
31:37
How to Commit Code Changes and Write Good Commit Messages | Git ...
13:09
Git for QA Testers #5 | Git Add & Commit Best Practices | How to ...
10:47
How to Write a Git Commit Message: Conventions & Best Practices ...
Conventional Commits
conventionalcommits.org › en › v1.0.0
Conventional Commits
No! If you use a squash based workflow on Git lead maintainers can clean up the commit messages as they’re merged—adding no workload to casual committers.
Reddit
reddit.com › r/learnprogramming › best practices for writing git commit messages?
r/learnprogramming on Reddit: Best practices for writing Git commit messages?
December 18, 2025 -
Hi developers,
I’m learning Git and GitHub, and I’m wondering about best practices for writing commit messages. I often write things like “I did XYZ, or I added image of cow with changes to xyz” but in a real production or work environment, what’s the recommended way to write clear, professional commit messages?
Top answer 1 of 18
66
Often commit messages are tied to one or another Jira ticket or such. For example "ZOO-123: Fix to RabbitMQ binder names." This ties that commit with Jira ticket ZOO-123 that either is about changes to RabbitMQ messaging or about fixing an issue with said messaging. Also, some companies use conventional commits. It is just a way of formatting your commit message so that automated tools can process commits in an easier way. Read about it from https://www.conventionalcommits.org/en/v1.0.0/ An example would be "fix(ZOO-123): Fix to RabbitMQ binder names." There the fix() keyword shows that the commit was for fixing something. A feat() keyword can be for adding a new feature or for working with some new functionality. For example "feat(SCHOOL-23): Add Japanese language." The commit message itself is often in imperative present tense. For example "Fix to" instead of "Fixed". The commit should give a summary of the change. What was done. Keep it concise and clear. Do not add a whole essay. But also do not just write "Added more changes." Which changes? Why? Read about it from https://blog.devgenius.io/make-a-meaningful-git-commit-message-with-semantic-commit-message-b39a79b13aa3 Avoid frustration and all kind of nonsense in the commits. Yes, when the stuff does not work and your earlier commit did not fix it then writing "Get working already!!!!!" or "wgo8g7tfwo82w37fdto238gd" is not a rational way how to deal with the issue. It is unprofessional. In the previous company I worked at, we had one guy who raged in his commit messages. Avoid adding too many details. Instead of writing "Fix to UserNotificationIntegrationTest, BillingIntegrationTest, BaseIntegrationTest, RabbitMQPublisherIntegrationTest" better pick "Fix to integration tests". Which tests, that can be seen from the git commit itself. Neither go with "Added an email support to UserNotificationService by introducing emailSender() method that uses angus-mail library" just write "Add support to send user notifications via email" Some good and bad examples are in https://chris.beams.io/git-commit Also, it does not really help when you finish your whole project and then add it via a single commit that has a commit message of "Initial commit".
2 of 18
14
What's professional really depends on the workflow used at a job. If the workflow requires pull requests to get anything to the main branch, then you need to make clear PR descriptions while the commit messages are mostly for yourself
GitKraken
gitkraken.com › home › learn › best practices › writing a good git commit message
How to Write a Good Git Commit Message | Git Best Practices
November 14, 2022 - From here, you can apply the Git commit message best practices you’ve learned by using git commit -m <Summary>, or the more detailed git commit -m <Summary> -m <Description>. Deciding which of these to use will depend on the standardized commit message mechanics agreed upon by your team, or the project’s default message structure.
European Commission
ec.europa.eu › component-library › v1.15.0 › eu › docs › conventions › git
Git Commit Guidelines | EU System
We have very precise rules over how our git commit messages can be formatted. This leads to more readable messages that are easy to follow when looking through the project history.
GitHub
gist.github.com › Aditi3 › a7a1ddd1ecef73dab548f7955210cfff
Git Commit Best Practices · GitHub
feat: add foo support ^--^ ^------------^ | | | +-> Summary(commit message subject line) in present tense | +-------> Type: chore, docs, feat, fix, refac, style, or test ... chore: regular code maintenance and updating grunt tasks etc; no production code change (eg: change to .gitignore file or .prettierrc file)
Tbaggery
tbaggery.com › 2008 › 04 › 19 › a-note-about-git-commit-messages.html
tbaggery - A Note About Git Commit Messages
April 19, 2008 - The blank line separating the summary from the body is critical (unless you omit the body entirely); tools like rebase can get confused if you run the two together. Write your commit message in the imperative: "Fix bug" and not "Fixed bug" or "Fixes bug." This convention matches up with commit ...
Medium
medium.com › compass-true-north › writing-good-commit-messages-fc33af9d6321
Writing Good Commit Messages. At Compass, as we continually improve… | by Ben Hoyt | Compass True North | Medium
September 26, 2018 - One minor point about the message above: it’s considered good git practice to use the imperative mood (yep, I had to look up the term) when writing the summary line. So “Add loading states” rather than “Adding…”. The commit message then describes what this commit will do when applied — following this means a consistent style in your commit messages, and it’s also shorter.
DEV Community
dev.to › wallacefreitas › best-practices-to-make-a-good-commit-writing-clean-effective-commit-messages-5eg9
Best Practices to Make a Good Commit: Writing Clean, Effective Commit Messages - DEV Community
August 26, 2024 - ↳ git diff: Review the changes you've made before committing to catch any mistakes or unintended modifications. ... The ability to write quality commits greatly improves both the productivity of your team and the maintainability of your codebase. You may produce a clear, intelligible, and helpful project history by adhering to these best practices, writing descriptive messages, utilizing the imperative mood, mentioning pertinent issues, and keeping commits modest and focused.