About Git Branch Naming and Commit Rules

About Git branch naming and commit rules

TechPublished 1 min read

These are my personal rules for Git branch names and commit messages.

Branch Names

Solo Development

+-- main
|   +-- feature/{feature-name}
|   +-- hotfix/{bug-id}
  • Basically only main and feature are used.

Team Development (Small Scale)

+-- main
|   +-- develop
|   |   +-- feature/{base-version}-{feature-name}
|   |   +-- release/{version}
+-- hotfix/{version}-{bug-id}

※ When managing branches per app in a monorepo

develop-{system-name}
feature-{system-name}/{base-version}-{feature-name}
etc.

Commit Messages

Prefix Description
feat: A new feature
fix: A bug fix
docs: Documentation-only changes
style: Changes that don't affect code behavior — whitespace, formatting, missing semicolons, etc.
refactor: A code change that neither fixes a bug nor adds a feature
perf: A code change that improves performance
test: Adding missing tests or correcting existing tests
chore: Changes to the build process or auxiliary tools and libraries such as documentation generation

※ In a monorepo, append the system name after the prefix.

feat({system-name})
e.g. feat(web)

Write a prefixed title on the first line,
leave the second line blank,
and describe the purpose and content of the change concretely on the third line.

feat: add user login

Added user login and user authentication.