branch-strategy-advisor
3
总安装量
3
周安装量
#56955
全站排名
安装命令
npx skills add https://github.com/latestaiagents/agent-skills --skill branch-strategy-advisor
Agent 安装分布
mcpjam
3
claude-code
3
replit
3
junie
3
windsurf
3
zencoder
3
Skill 文档
Branch Strategy Advisor
Choose and implement the right branching strategy for your team.
When to Use
- Setting up a new project’s branching workflow
- Deciding between GitFlow, trunk-based, or GitHub Flow
- Standardizing branch naming conventions
- Configuring branch protection rules
- Scaling branching for larger teams
Strategy Comparison
| Strategy | Best For | Release Cadence | Team Size |
|---|---|---|---|
| Trunk-Based | Continuous deployment, experienced teams | Daily/hourly | Any |
| GitHub Flow | SaaS products, simple workflow | On-demand | Small-Medium |
| GitFlow | Scheduled releases, multiple versions | Weekly/Monthly | Medium-Large |
Strategy 1: Trunk-Based Development
Best for: Teams with strong CI/CD, continuous deployment, feature flags.
main ââââââââââââââââââââââââââââââââââââââââ
\ / \ / \ /
feature-a âââ âââ âââ
(short-lived, merged within 1-2 days)
Rules
mainis always deployable- Feature branches live < 2 days
- Use feature flags for incomplete features
- No long-running branches
Branch Naming
feature/ABC-123-short-description
fix/ABC-456-bug-description
Commands
# Start feature
git checkout -b feature/ABC-123-user-auth main
# Keep updated (daily)
git fetch origin
git rebase origin/main
# Merge (same day or next)
git checkout main
git merge --no-ff feature/ABC-123-user-auth
Strategy 2: GitHub Flow
Best for: SaaS products, web apps with continuous deployment.
main ââââââââââââââââââââââââââââââââââââââââ
\ / \ /
âââââ âââââ
feature-branch bugfix-branch
(PR) (PR)
Rules
mainis always deployable- Create branch from
mainfor any change - Open PR for discussion
- Deploy from
mainafter merge
Branch Naming
feature/user-authentication
bugfix/login-redirect-loop
hotfix/security-patch
docs/api-documentation
Commands
# Start work
git checkout -b feature/user-authentication main
# Push and create PR
git push -u origin feature/user-authentication
gh pr create --title "Add user authentication"
# After approval
gh pr merge --squash
Strategy 3: GitFlow
Best for: Products with scheduled releases, mobile apps, packages.
main âââââââââââââââââââââââââââââââââââââââââ
\ / \
release \âââââââââââââ/ \ââââ
\ /
develop âââââââââââââââââââââââââââââââââââââââââ
\ / \ / \ /
feature âââââ âââââ âââââââââ
Branches
| Branch | Purpose | Merges To |
|---|---|---|
main |
Production releases | – |
develop |
Integration branch | release, main |
feature/* |
New features | develop |
release/* |
Release preparation | main, develop |
hotfix/* |
Production fixes | main, develop |
Branch Naming
feature/ABC-123-user-dashboard
release/1.2.0
hotfix/1.2.1
Commands
# Start feature
git checkout -b feature/ABC-123-dashboard develop
# Finish feature
git checkout develop
git merge --no-ff feature/ABC-123-dashboard
git branch -d feature/ABC-123-dashboard
# Start release
git checkout -b release/1.2.0 develop
# Finish release
git checkout main
git merge --no-ff release/1.2.0
git tag -a v1.2.0
git checkout develop
git merge --no-ff release/1.2.0
Branch Naming Convention
Format
<type>/<ticket>-<short-description>
Types
| Type | Usage |
|---|---|
feature/ |
New functionality |
fix/ or bugfix/ |
Bug fixes |
hotfix/ |
Urgent production fixes |
release/ |
Release preparation |
docs/ |
Documentation |
refactor/ |
Code refactoring |
test/ |
Test additions |
chore/ |
Maintenance |
Examples
feature/AUTH-123-oauth-google-login
fix/API-456-null-pointer-exception
hotfix/SEC-789-sql-injection
release/2.1.0
docs/README-setup-instructions
Rules
- Use lowercase
- Use hyphens, not underscores
- Keep it short but descriptive
- Include ticket number if available
Branch Protection Rules
For main
# GitHub branch protection
- Require pull request reviews (1-2 reviewers)
- Require status checks to pass
- Require branches to be up to date
- Include administrators
- Restrict who can push (CI only)
For develop (GitFlow)
- Require pull request reviews (1 reviewer)
- Require status checks to pass
- Allow force pushes: NO
Setup Commands (GitHub CLI)
gh api repos/{owner}/{repo}/branches/main/protection -X PUT \
-f required_pull_request_reviews='{"required_approving_review_count":1}' \
-f required_status_checks='{"strict":true,"contexts":["ci/test"]}' \
-F enforce_admins=true
Decision Guide
Choose Trunk-Based If:
- You deploy multiple times per day
- Your team has strong CI/CD practices
- You can use feature flags effectively
- Developers are experienced with Git
- Code review happens quickly (< 4 hours)
Choose GitHub Flow If:
- You deploy on-demand (not scheduled)
- Your team is small to medium
- You want simplicity over structure
- PRs are your primary review mechanism
- You don’t need to maintain multiple versions
Choose GitFlow If:
- You have scheduled releases (sprints)
- You maintain multiple production versions
- You need strict release control
- Your team is medium to large
- You have dedicated release managers
Migration Between Strategies
From GitFlow to Trunk-Based
- Stop creating feature branches from
develop - Create features from
maininstead - Implement feature flags
- Shorten branch lifespan to < 2 days
- Eventually deprecate
develop
From Nothing to GitHub Flow
- Protect
mainbranch - Require PRs for all changes
- Set up CI to run on PRs
- Establish naming conventions
- Document in CONTRIBUTING.md