Files
english/.opencode/skills/git/references/branch-management.md
2026-04-12 01:06:31 +07:00

1.8 KiB

Branch Management

Naming Convention

Format: <type>/<descriptive-name>

Type Purpose Example
feature/ New features feature/oauth-login
fix/ Bug fixes fix/db-timeout
refactor/ Code restructure refactor/api-cleanup
docs/ Documentation docs/api-reference
test/ Test improvements test/integration-suite
chore/ Maintenance chore/deps-update
hotfix/ Production fixes hotfix/payment-crash

Branch Lifecycle

Create

git checkout main
git pull origin main
git checkout -b feature/new-feature

During Development

# Regular commits
git add <files> && git commit -m "feat(scope): description"

# Stay current with main
git fetch origin
git rebase origin/main

Before Merge

# Push final state
git push origin feature/new-feature

# Or after rebase (feature branches only)
git push -f origin feature/new-feature

After Merge

# Delete local
git branch -d feature/new-feature

# Delete remote
git push origin --delete feature/new-feature

Branch Strategies

Simple (small teams)

main (production)
  └─ feature/* (development)

Git Flow (releases)

main (production)
develop (staging)
  ├─ feature/*
  ├─ bugfix/*
  ├─ hotfix/*
  └─ release/*

Trunk-Based (CI/CD)

main (always deployable)
  └─ short-lived feature branches

Quick Commands

Task Command
List branches git branch -a
Current branch git rev-parse --abbrev-ref HEAD
Switch branch git checkout <branch>
Create + switch git checkout -b <branch>
Delete local git branch -d <branch>
Delete remote git push origin --delete <branch>
Rename git branch -m <old> <new>