Back to all posts
TechnologyGit commit messages and branching

Mastering Git Commit Messages and Branching

=====================================================

2 min readUpdated June 27, 2026AI-assisted

TechSilo

AI-assisted and human-curated

=====================================================

**The Wrong Way**

A common bad practice is using vague commit messages and not following a consistent branching strategy. For example:

bash
git commit -m "fixed stuff"

This commit message does not provide any useful information about the changes made.

**Why It's Wrong**

Using vague commit messages can lead to problems when trying to understand the history of changes in a repository. It can also make it difficult to identify security vulnerabilities or performance issues. For instance, if a commit introduces a bug, it will be hard to track down without a descriptive message.

**The Right Way**

A better approach is to use descriptive commit messages that follow a standard format, such as the Conventional Commits specification:

bash
git commit -m "fix: resolve issue with login functionality"

This commit message clearly indicates the type of change made and provides a brief description.

**5 Best Practices**

Here are five best practices for Git commit messages and branching:

1. Use descriptive commit messages: Use the Conventional Commits specification to write clear and concise commit messages.

bash
git commit -m "feat: add new user profile page"

2. Follow a consistent branching strategy: Use a branching model like Git Flow to manage feature branches, release branches, and hotfixes.

bash
git checkout -b feature/new-login-system

3. Keep commit messages concise: Limit commit messages to 50 characters for the subject and 72 characters for the body.

bash
git commit -m "fix: bug in login form"

4. Use git status to review changes: Before committing, use git status to review the changes and ensure they are correct.

bash
git status
git add .
git commit -m "feat: add new feature"

5. Use git merge --no-ff to preserve branch history: When merging branches, use --no-ff to preserve the branch history and avoid fast-forwarding.

bash
git checkout main
git merge --no-ff feature/new-login-system

**Quick Checklist**

Before shipping, review the following:

* Are commit messages descriptive and concise?

* Are branches properly named and organized?

* Have changes been reviewed using git status?

* Have branches been merged using git merge --no-ff?

* Are security vulnerabilities and performance issues addressed in commit messages and code changes?

Want to put this into practice?

Explore TechSilo's free developer tools for practical utilities you can use directly in your browser.

Related blog posts