seungwonme avatar

git-convention

Git convention for branch naming, commit messages, and issue labels based on GitFlow and Conventiona

by seungwonme|Open Source

Git Convention

Branch Naming

Format: type/[branch/]description[-#issue]

TypeDescriptionExample
featNew featurefeat/login-#123
fixBug fixfix/button-click-#456
docsDocumentationdocs/api-docs-#789
styleCode style (no logic change)style/css-format-#101
refactorCode restructurerefactor/auth-service-#102
testAdd/modify teststest/unit-tests-#103
choreMaintenancechore/dependency-update-#104

Commit Message Format

<type>(<scope>): <subject>

<body>

<footer>

Rules

  • Max 100 characters per line
  • Subject: imperative, present tense ("change" not "changed")
  • Subject: no capitalize, no period at end
  • Body: motivation and contrast with previous behavior

Types

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • style: Formatting, missing semicolons
  • refactor: Code restructure without behavior change
  • test: Adding or updating tests
  • chore: Build, package manager, no code change

Setup

Commit Template

git config --local commit.template .github/.gitmessage

Issue Labels

github-label-sync --access-token <token> --labels .github/labels.json <owner>/<repo>