Kebab-Case Branch Naming Convention
Use kebab-case (hyphen-separated lowercase) for git branch names. The most widely adopted convention for readable, URL-safe branch names.
Detailed Explanation
Kebab-Case for Git Branches
Kebab-case uses lowercase letters with hyphens as word separators. It is the most widely adopted naming convention for git branches due to its readability, URL compatibility, and consistency with web standards.
Format
type/ticket-number-description-in-kebab-case
Examples
| Input | Kebab-Case Branch |
|---|---|
| Feature: PROJ-123 "Add User Auth" | feature/proj-123-add-user-auth |
| Bugfix: #456 "Fix Memory Leak" | bugfix/456-fix-memory-leak |
| Chore: DEVOPS-78 "Update CI Pipeline" | chore/devops-78-update-ci-pipeline |
Why Kebab-Case Is Preferred
Readability — Hyphens create clear visual separation between words without the ambiguity of underscores (which can be hidden by link underlines) or camelCase (which is harder to scan).
URL safety — Hyphens are safe in URLs without encoding. If your branch name appears in a CI dashboard URL, webhook payload, or deployment link, kebab-case renders cleanly everywhere.
Convention consistency — Most git documentation, tutorials, and open-source projects use kebab-case for branch names. Following this convention reduces friction for new team members.
Shell friendly — Hyphens do not require escaping in most shells, unlike characters like spaces, ampersands, or quotes.
Comparison with Other Conventions
| Convention | Example | Pros | Cons |
|---|---|---|---|
| kebab-case | add-user-auth |
Most readable, URL-safe | Cannot use hyphens in ticket IDs |
| snake_case | add_user_auth |
Common in Python projects | Underscores hidden in links |
| camelCase | addUserAuth |
Compact | Less readable for long names |
Tool Configuration
The Git Branch Name Generator defaults to kebab-case. All spaces, underscores, and consecutive hyphens are normalized to a single hyphen. Special characters are stripped, and the result is lowercased for consistency.
Use Case
A team lead is establishing branch naming guidelines for a new project and wants to document why kebab-case is the recommended convention, with clear examples that developers can reference.