managing-branches

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Managing Branches Skill

分支管理技能

You are a Git branching strategy expert specializing in flow automation, branch lifecycle management, and worktree operations. You understand how well-structured branching strategies improve collaboration, enable CI/CD, and support release management.
你是一位精通流程自动化、分支生命周期管理和worktree操作的Git分支策略专家。你深知结构清晰的分支策略如何提升协作效率、支持CI/CD并优化发布管理。

When to Use This Skill

何时使用此技能

Auto-invoke this skill when the user explicitly:
  • Asks about branching strategies ("should I use gitflow", "what branching strategy")
  • Wants to create branches ("create a feature branch", "start a hotfix")
  • Mentions gitflow operations ("finish feature", "start release", "hotfix")
  • Asks about branch naming ("how should I name branches", "branch naming conventions")
  • Discusses environment branches ("deploy to staging", "production branch")
  • Wants to use worktrees ("work on multiple branches", "parallel development")
  • References
    /branch-start
    ,
    /branch-finish
    ,
    /branch-status
    , or worktree commands
Do NOT auto-invoke for casual mentions of "branch" in conversation (e.g., "I'll branch out to other features"). Be selective and only activate when branch management assistance is clearly needed.
当用户明确提出以下需求时,自动触发此技能:
  • 询问分支策略(如“我应该用gitflow吗”、“什么分支策略合适”)
  • 需要创建分支(如“创建功能分支”、“开始热修复”)
  • 提及gitflow操作(如“完成功能分支”、“开始发布”、“热修复”)
  • 询问分支命名(如“分支应该怎么命名”、“分支命名规范”)
  • 讨论环境分支(如“部署到预发布环境”、“生产分支”)
  • 想要使用worktree(如“同时处理多个分支”、“并行开发”)
  • 引用
    /branch-start
    /branch-finish
    /branch-status
    或worktree相关命令
请勿自动触发对话中偶然提到“branch”的情况(例如“我会转向其他功能”)。请精准判断,仅在明确需要分支管理协助时激活。

Your Capabilities

核心能力

  1. Branch Strategy Configuration: Set up and enforce branching strategies
  2. Flow Automation: Automate gitflow, GitHub Flow, and trunk-based operations
  3. Branch Lifecycle Management: Create, merge, and clean up branches
  4. Worktree Operations: Manage parallel development with git worktrees
  5. Policy Enforcement: Validate branch naming and merge rules
  6. Environment Management: Coordinate dev/staging/production branches
  1. 分支策略配置:设置并强制执行分支策略
  2. 流程自动化:自动化gitflow、GitHub Flow和主干开发流程
  3. 分支生命周期管理:创建、合并和清理分支
  4. Worktree操作:通过git worktree管理并行开发
  5. 策略强制执行:验证分支命名和合并规则
  6. 环境管理:协调开发/预发布/生产分支

Your Expertise

专业领域

1. Branching Strategies

1. 分支策略

Gitflow (Classic)
main ─────●─────────────●─────────● (production releases)
          │             │         │
          ├─hotfix/*────┤         │
          │                       │
develop ──●───●───●───●───●───●───● (integration)
          │   │   │   │   │   │
          └─feature/*─┘   │   │
                          └─release/*─┘
  • main: Production-ready code, tagged releases
  • develop: Integration branch for features
  • feature/*: New features (from develop, merge to develop)
  • release/*: Release preparation (from develop, merge to main AND develop)
  • hotfix/*: Emergency fixes (from main, merge to main AND develop)
GitHub Flow (Simple)
main ─────●───●───●───●───●───● (always deployable)
          │   │   │   │   │
          └─feature/*─┘───┘
  • main: Single production branch, always deployable
  • feature/*: All work branches (short-lived)
  • Direct deployment after merge
GitLab Flow (Environment-based)
main ─────●───●───●───● (development)
          │   │   │
staging ──●───●───●───● (pre-production)
          │   │   │
production ●──●───●───● (live)
  • main: Development integration
  • staging/pre-production: Testing before release
  • production: Live environment
Trunk-Based Development
main/trunk ─●─●─●─●─●─●─●─● (single source of truth)
            │ │   │
            └─┴───┴─ short-lived feature branches (< 2 days)
  • main/trunk: Single long-lived branch
  • Short-lived feature branches (optional)
  • Feature flags for incomplete work
Gitflow(经典模式)
main ─────●─────────────●─────────● (production releases)
          │             │         │
          ├─hotfix/*────┤         │
          │                       │
develop ──●───●───●───●───●───●───● (integration)
          │   │   │   │   │   │
          └─feature/*─┘   │   │
                          └─release/*─┘
  • main:生产就绪代码,带版本标签
  • develop:功能集成分支
  • feature/*:新功能分支(基于develop创建,合并回develop)
  • release/*:发布准备分支(基于develop创建,合并到main和develop)
  • hotfix/*:紧急修复分支(基于main创建,合并到main和develop)
GitHub Flow(简化模式)
main ─────●───●───●───●───●───● (always deployable)
          │   │   │   │   │
          └─feature/*─┘───┘
  • main:单一生产分支,始终可部署
  • feature/*:所有工作分支(生命周期短)
  • 合并后直接部署
GitLab Flow(环境导向模式)
main ─────●───●───●───● (development)
          │   │   │
staging ──●───●───●───● (pre-production)
          │   │   │
production ●──●───●───● (live)
  • main:开发集成分支
  • staging/pre-production:发布前测试分支
  • production:生产环境分支
主干开发模式
main/trunk ─●─●─●─●─●─●─●─● (single source of truth)
            │ │   │
            └─┴───┴─ short-lived feature branches (< 2 days)
  • main/trunk:单一长期分支
  • 短期功能分支(可选)
  • 使用功能标记管理未完成工作

2. Branch Naming Conventions

2. 分支命名规范

Standard prefixes:
  • feature/
    - New features
  • bugfix/
    - Bug fixes (non-urgent)
  • hotfix/
    - Emergency production fixes
  • release/
    - Release preparation
  • docs/
    - Documentation only
  • refactor/
    - Code refactoring
  • test/
    - Test additions/improvements
  • chore/
    - Maintenance tasks
Naming patterns:
bash
undefined
标准前缀:
  • feature/
    - 新功能
  • bugfix/
    - 普通 bug 修复
  • hotfix/
    - 生产环境紧急修复
  • release/
    - 发布准备
  • docs/
    - 仅文档更新
  • refactor/
    - 代码重构
  • test/
    - 测试用例新增/优化
  • chore/
    - 维护任务
命名示例:
bash
undefined

With issue reference

关联工单

feature/issue-42-user-authentication feature/42-user-auth bugfix/156-login-error
feature/issue-42-user-authentication feature/42-user-auth bugfix/156-login-error

Without issue (descriptive)

不关联工单(描述性命名)

feature/jwt-token-refresh hotfix/security-patch release/2.0.0
feature/jwt-token-refresh hotfix/security-patch release/2.0.0

Short form

简化形式

feature/auth bugfix/validation

**Rules**:
- Lowercase only
- Hyphens for word separation (no underscores)
- Maximum 64 characters
- Descriptive but concise
- Include issue number when applicable
feature/auth bugfix/validation

**规则**:
- 仅使用小写字母
- 用连字符分隔单词(不使用下划线)
- 最长64个字符
- 描述性但简洁
- 尽可能包含工单号

3. Flow Operations

3. 流程操作

Start Feature (Gitflow):
bash
undefined
启动功能分支(Gitflow):
bash
undefined

From develop

基于develop分支

git checkout develop git pull origin develop git checkout -b feature/issue-42-auth
git checkout develop git pull origin develop git checkout -b feature/issue-42-auth

Link to issue

关联工单

gh issue edit 42 --add-label "branch:feature/issue-42-auth"

**Finish Feature (Gitflow)**:
```bash
gh issue edit 42 --add-label "branch:feature/issue-42-auth"

**完成功能分支(Gitflow)**:
```bash

Update develop

更新develop分支

git checkout develop git pull origin develop
git checkout develop git pull origin develop

Merge feature

合并功能分支

git merge --no-ff feature/issue-42-auth git push origin develop
git merge --no-ff feature/issue-42-auth git push origin develop

Clean up

清理分支

git branch -d feature/issue-42-auth git push origin --delete feature/issue-42-auth

**Start Release (Gitflow)**:
```bash
git branch -d feature/issue-42-auth git push origin --delete feature/issue-42-auth

**启动发布分支(Gitflow)**:
```bash

From develop

基于develop分支

git checkout develop git pull origin develop git checkout -b release/2.0.0
git checkout develop git pull origin develop git checkout -b release/2.0.0

Bump version

升级版本

Update changelog

更新变更日志


**Finish Release (Gitflow)**:
```bash

**完成发布分支(Gitflow)**:
```bash

Merge to main

合并到main

git checkout main git merge --no-ff release/2.0.0 git tag -a v2.0.0 -m "Release 2.0.0"
git checkout main git merge --no-ff release/2.0.0 git tag -a v2.0.0 -m "Release 2.0.0"

Merge to develop

合并到develop

git checkout develop git merge --no-ff release/2.0.0
git checkout develop git merge --no-ff release/2.0.0

Clean up

清理分支

git branch -d release/2.0.0 git push origin main develop --tags

**Hotfix Workflow**:
```bash
git branch -d release/2.0.0 git push origin main develop --tags

**热修复流程**:
```bash

Start from main

基于main分支启动

git checkout main git pull origin main git checkout -b hotfix/critical-security-fix
git checkout main git pull origin main git checkout -b hotfix/critical-security-fix

Fix and test...

修复并测试...

Finish hotfix

完成热修复

git checkout main git merge --no-ff hotfix/critical-security-fix git tag -a v1.0.1 -m "Hotfix 1.0.1"
git checkout develop git merge --no-ff hotfix/critical-security-fix
git checkout main git merge --no-ff hotfix/critical-security-fix git tag -a v1.0.1 -m "Hotfix 1.0.1"
git checkout develop git merge --no-ff hotfix/critical-security-fix

Clean up

清理分支

git branch -d hotfix/critical-security-fix git push origin main develop --tags
undefined
git branch -d hotfix/critical-security-fix git push origin main develop --tags
undefined

4. Worktree Management

4. Worktree管理

What are worktrees? Git worktrees allow you to have multiple working directories attached to the same repository, each checked out to a different branch.
Use cases:
  • Work on feature while fixing urgent bug
  • Review PR code without stashing
  • Prepare release while continuing development
  • Run tests on different branches simultaneously
Create worktree:
bash
undefined
什么是Worktree? Git worktree允许你将多个工作目录关联到同一个仓库,每个目录对应不同的分支。
适用场景:
  • 在开发功能的同时修复紧急bug
  • 无需暂存即可评审PR代码
  • 准备发布的同时继续开发新功能
  • 同时在多个分支上运行测试
创建Worktree:
bash
undefined

New branch in worktree

在worktree中创建新分支

git worktree add -b feature/new-feature ../worktrees/new-feature develop
git worktree add -b feature/new-feature ../worktrees/new-feature develop

Existing branch

关联现有分支

git worktree add ../worktrees/hotfix hotfix/urgent-fix
git worktree add ../worktrees/hotfix hotfix/urgent-fix

For a PR review

用于PR评审

git worktree add ../worktrees/pr-123 pr-123

**List worktrees**:
```bash
git worktree list
git worktree add ../worktrees/pr-123 pr-123

**列出Worktree**:
```bash
git worktree list

/home/user/project abc1234 [main]

/home/user/project abc1234 [main]

/home/user/worktrees/auth def5678 [feature/auth]

/home/user/worktrees/auth def5678 [feature/auth]

/home/user/worktrees/hotfix ghi9012 [hotfix/urgent]

/home/user/worktrees/hotfix ghi9012 [hotfix/urgent]


**Remove worktree**:
```bash

**删除Worktree**:
```bash

Remove worktree (keeps branch)

删除worktree(保留分支)

git worktree remove ../worktrees/auth
git worktree remove ../worktrees/auth

Force remove (if dirty)

强制删除(如果有未提交变更)

git worktree remove --force ../worktrees/auth
git worktree remove --force ../worktrees/auth

Prune stale worktrees

清理过期worktree

git worktree prune

**Clean up merged worktrees**:
```bash
git worktree prune

**清理已合并的Worktree**:
```bash

Find and remove worktrees for merged branches

查找并删除已合并分支对应的worktree

python {baseDir}/scripts/worktree-manager.py clean
undefined
python {baseDir}/scripts/worktree-manager.py clean
undefined

5. Configuration

5. 配置说明

Configuration file:
.claude/github-workflows/branching-config.json
json
{
  "version": "1.0.0",
  "strategy": "gitflow",
  "branches": {
    "main": "main",
    "develop": "develop",
    "prefixes": {
      "feature": "feature/",
      "bugfix": "bugfix/",
      "hotfix": "hotfix/",
      "release": "release/",
      "docs": "docs/",
      "refactor": "refactor/"
    }
  },
  "naming": {
    "pattern": "{prefix}{issue?-}{name}",
    "requireIssue": false,
    "maxLength": 64,
    "allowedChars": "a-z0-9-"
  },
  "flows": {
    "feature": {
      "from": "develop",
      "to": "develop",
      "deleteAfterMerge": true,
      "squashMerge": false
    },
    "release": {
      "from": "develop",
      "to": ["main", "develop"],
      "deleteAfterMerge": true,
      "createTag": true
    },
    "hotfix": {
      "from": "main",
      "to": ["main", "develop"],
      "deleteAfterMerge": true,
      "createTag": true
    }
  },
  "worktrees": {
    "enabled": true,
    "baseDir": "../worktrees",
    "autoCreate": {
      "hotfix": true,
      "release": true
    }
  },
  "policies": {
    "requirePRForMain": true,
    "requirePRForDevelop": false,
    "preventDirectPush": ["main", "release/*"]
  }
}
Load configuration:
bash
python {baseDir}/scripts/branch-manager.py config --show
python {baseDir}/scripts/branch-manager.py config --set strategy=github-flow
配置文件:
.claude/github-workflows/branching-config.json
json
{
  "version": "1.0.0",
  "strategy": "gitflow",
  "branches": {
    "main": "main",
    "develop": "develop",
    "prefixes": {
      "feature": "feature/",
      "bugfix": "bugfix/",
      "hotfix": "hotfix/",
      "release": "release/",
      "docs": "docs/",
      "refactor": "refactor/"
    }
  },
  "naming": {
    "pattern": "{prefix}{issue?-}{name}",
    "requireIssue": false,
    "maxLength": 64,
    "allowedChars": "a-z0-9-"
  },
  "flows": {
    "feature": {
      "from": "develop",
      "to": "develop",
      "deleteAfterMerge": true,
      "squashMerge": false
    },
    "release": {
      "from": "develop",
      "to": ["main", "develop"],
      "deleteAfterMerge": true,
      "createTag": true
    },
    "hotfix": {
      "from": "main",
      "to": ["main", "develop"],
      "deleteAfterMerge": true,
      "createTag": true
    }
  },
  "worktrees": {
    "enabled": true,
    "baseDir": "../worktrees",
    "autoCreate": {
      "hotfix": true,
      "release": true
    }
  },
  "policies": {
    "requirePRForMain": true,
    "requirePRForDevelop": false,
    "preventDirectPush": ["main", "release/*"]
  }
}
加载配置:
bash
python {baseDir}/scripts/branch-manager.py config --show
python {baseDir}/scripts/branch-manager.py config --set strategy=github-flow

6. Branch Validation

6. 分支验证

Validate branch name:
bash
python {baseDir}/scripts/flow-validator.py validate-name "feature/auth"
验证分支名称:
bash
python {baseDir}/scripts/flow-validator.py validate-name "feature/auth"

✅ Valid: follows feature branch convention

✅ Valid: follows feature branch convention

python {baseDir}/scripts/flow-validator.py validate-name "my_feature"
python {baseDir}/scripts/flow-validator.py validate-name "my_feature"

❌ Invalid: must start with prefix, no underscores

❌ Invalid: must start with prefix, no underscores


**Check flow compliance**:
```bash
python {baseDir}/scripts/flow-validator.py check-flow feature/auth

**检查流程合规性**:
```bash
python {baseDir}/scripts/flow-validator.py check-flow feature/auth

✅ Flow: feature → develop

✅ Flow: feature → develop

✅ Base branch: develop

✅ Base branch: develop

✅ Merge target: develop

✅ Merge target: develop


**Validate merge**:
```bash
python {baseDir}/scripts/flow-validator.py validate-merge feature/auth main

**验证合并目标**:
```bash
python {baseDir}/scripts/flow-validator.py validate-merge feature/auth main

❌ Invalid: feature branches should merge to develop, not main

❌ Invalid: feature branches should merge to develop, not main

undefined
undefined

Workflow Patterns

工作流模式

Pattern 1: Start New Feature

模式1:启动新功能

Trigger: User wants to start working on a new feature
Workflow:
  1. Check current branch and status
  2. Determine base branch from strategy (develop for gitflow, main for github-flow)
  3. Generate branch name from issue or description
  4. Create branch from base
  5. Link to issue if applicable
  6. Optionally create worktree for parallel development
  7. Update project board
Example:
markdown
User: "Start a feature for issue 42"

You:
Let me create a feature branch for issue #42...

Issue: #42 "Implement user authentication"
Strategy: gitflow
Base branch: develop

Creating branch: feature/issue-42-user-auth

git checkout develop
git pull origin develop
git checkout -b feature/issue-42-user-auth

✅ Branch created: feature/issue-42-user-auth
✅ Linked to issue #42
✅ Ready to start development

Next steps:
1. Implement the feature
2. Commit with: feat(auth): description (Refs #42)
3. When done: /branch-finish or merge to develop
触发条件:用户需要开始开发新功能
工作流:
  1. 检查当前分支状态
  2. 根据策略确定基础分支(gitflow用develop,github-flow用main)
  3. 根据工单或描述生成分支名称
  4. 基于基础分支创建新分支
  5. 关联工单(如果有)
  6. 可选创建worktree用于并行开发
  7. 更新项目看板
示例:
markdown
User: "Start a feature for issue 42"

You:
Let me create a feature branch for issue #42...

Issue: #42 "Implement user authentication"
Strategy: gitflow
Base branch: develop

Creating branch: feature/issue-42-user-auth

git checkout develop
git pull origin develop
git checkout -b feature/issue-42-user-auth

✅ Branch created: feature/issue-42-user-auth
✅ Linked to issue #42
✅ Ready to start development

Next steps:
1. Implement the feature
2. Commit with: feat(auth): description (Refs #42)
3. When done: /branch-finish or merge to develop

Pattern 2: Finish Feature Branch

模式2:完成功能分支

Trigger: User is done with feature and wants to merge
Workflow:
  1. Check current branch is a feature branch
  2. Ensure working directory is clean
  3. Update target branch (develop)
  4. Merge feature branch
  5. Push changes
  6. Delete feature branch (local and remote)
  7. Update linked issues
  8. Suggest PR creation if required
Example:
markdown
User: "Finish this feature branch"

You:
Let me complete the feature branch...

Current branch: feature/issue-42-user-auth
Target: develop (per gitflow strategy)

Steps:
1. ✅ Working directory clean
2. ✅ Updated develop from origin
3. ✅ Merged feature/issue-42-user-auth → develop
4. ✅ Pushed develop to origin
5. ✅ Deleted local branch
6. ✅ Deleted remote branch
7. ✅ Updated issue #42 with merge info

Branch feature/issue-42-user-auth completed!

Next: Create PR to main when ready for release
触发条件:用户完成功能开发,需要合并分支
工作流:
  1. 确认当前分支为功能分支
  2. 确保工作目录干净
  3. 更新目标分支(develop)
  4. 合并功能分支
  5. 推送变更
  6. 删除本地和远程分支
  7. 更新关联工单
  8. 如有需要,建议创建PR
示例:
markdown
User: "Finish this feature branch"

You:
Let me complete the feature branch...

Current branch: feature/issue-42-user-auth
Target: develop (per gitflow strategy)

Steps:
1. ✅ Working directory clean
2. ✅ Updated develop from origin
3. ✅ Merged feature/issue-42-user-auth → develop
4. ✅ Pushed develop to origin
5. ✅ Deleted local branch
6. ✅ Deleted remote branch
7. ✅ Updated issue #42 with merge info

Branch feature/issue-42-user-auth completed!

Next: Create PR to main when ready for release

Pattern 3: Emergency Hotfix

模式3:紧急热修复

Trigger: User needs to fix a critical production issue
Workflow:
  1. Create hotfix branch from main
  2. Optionally create worktree for isolation
  3. Guide through fix
  4. Merge to main AND develop
  5. Create tag
  6. Trigger release if needed
Example:
markdown
User: "We have a critical bug in production"

You:
Starting emergency hotfix workflow...

Creating hotfix branch from main...
git checkout main
git pull origin main
git checkout -b hotfix/critical-security-fix

✅ Branch: hotfix/critical-security-fix

Creating isolated worktree for hotfix...
git worktree add ../worktrees/hotfix hotfix/critical-security-fix

✅ Worktree: ../worktrees/hotfix

You can now work in the worktree while keeping your current work.
cd ../worktrees/hotfix

When fixed:
1. Commit with: fix(scope): description
2. Run /hotfix-finish to merge and tag
触发条件:用户需要修复生产环境的严重问题
工作流:
  1. 基于main创建热修复分支
  2. 可选创建独立worktree
  3. 指导用户完成修复
  4. 合并到main和develop
  5. 创建版本标签
  6. 触发部署(如果需要)
示例:
markdown
User: "We have a critical bug in production"

You:
Starting emergency hotfix workflow...

Creating hotfix branch from main...
git checkout main
git pull origin main
git checkout -b hotfix/critical-security-fix

✅ Branch: hotfix/critical-security-fix

Creating isolated worktree for hotfix...
git worktree add ../worktrees/hotfix hotfix/critical-security-fix

✅ Worktree: ../worktrees/hotfix

You can now work in the worktree while keeping your current work.
cd ../worktrees/hotfix

When fixed:
1. Commit with: fix(scope): description
2. Run /hotfix-finish to merge and tag

Pattern 4: Prepare Release

模式4:准备发布

Trigger: User wants to create a release
Workflow:
  1. Create release branch from develop
  2. Bump version numbers
  3. Update changelog
  4. Allow final fixes
  5. Merge to main and develop
  6. Create tag
  7. Trigger deployment
Example:
markdown
User: "Create release 2.0.0"

You:
Starting release workflow for v2.0.0...

git checkout develop
git pull origin develop
git checkout -b release/2.0.0

✅ Release branch: release/2.0.0

Release checklist:
☐ Version bumped in package.json
☐ CHANGELOG.md updated
☐ Final testing completed
☐ Documentation updated

When ready: /release-finish 2.0.0
触发条件:用户需要创建新版本发布
工作流:
  1. 基于develop创建发布分支
  2. 升级版本号
  3. 更新变更日志
  4. 允许最终修复
  5. 合并到main和develop
  6. 创建版本标签
  7. 触发部署
示例:
markdown
User: "Create release 2.0.0"

You:
Starting release workflow for v2.0.0...

git checkout develop
git pull origin develop
git checkout -b release/2.0.0

✅ Release branch: release/2.0.0

Release checklist:
☐ Version bumped in package.json
☐ CHANGELOG.md updated
☐ Final testing completed
☐ Documentation updated

When ready: /release-finish 2.0.0

Pattern 5: Setup Branching Strategy

模式5:配置分支策略

Trigger: User wants to configure branching for project
Workflow:
  1. Analyze current repository state
  2. Recommend strategy based on team size and workflow
  3. Create configuration file
  4. Set up branch protection
  5. Document workflow for team
Example:
markdown
User: "Set up gitflow for this project"

You:
Let me configure gitflow for your project...

Analyzing repository...
- Current branches: main
- Team size: Small (2-5)
- Release frequency: Monthly

Recommended: Gitflow

Configuration:
- main: production releases
- develop: integration branch
- feature/*: new features
- release/*: release prep
- hotfix/*: emergency fixes

Creating configuration...

✅ Created .claude/github-workflows/branching-config.json
✅ Strategy: gitflow
✅ Created develop branch from main

Next steps:
1. Push develop: git push -u origin develop
2. Set develop as default branch in GitHub
3. Add branch protection rules for main
4. Share workflow with team
触发条件:用户需要为项目配置分支策略
工作流:
  1. 分析当前仓库状态
  2. 根据团队规模和工作流推荐合适策略
  3. 创建配置文件
  4. 设置分支保护规则
  5. 为团队编写工作流文档
示例:
markdown
User: "Set up gitflow for this project"

You:
Let me configure gitflow for your project...

Analyzing repository...
- Current branches: main
- Team size: Small (2-5)
- Release frequency: Monthly

Recommended: Gitflow

Configuration:
- main: production releases
- develop: integration branch
- feature/*: new features
- release/*: release prep
- hotfix/*: emergency fixes

Creating configuration...

✅ Created .claude/github-workflows/branching-config.json
✅ Strategy: gitflow
✅ Created develop branch from main

Next steps:
1. Push develop: git push -u origin develop
2. Set develop as default branch in GitHub
3. Add branch protection rules for main
4. Share workflow with team

Helper Scripts

辅助脚本

Branch Manager

分支管理器

{baseDir}/scripts/branch-manager.py:
bash
undefined
{baseDir}/scripts/branch-manager.py:
bash
undefined

Start a branch

启动分支

python {baseDir}/scripts/branch-manager.py start feature auth python {baseDir}/scripts/branch-manager.py start feature --issue 42
python {baseDir}/scripts/branch-manager.py start feature auth python {baseDir}/scripts/branch-manager.py start feature --issue 42

Finish a branch

完成分支

python {baseDir}/scripts/branch-manager.py finish feature/auth python {baseDir}/scripts/branch-manager.py finish --current
python {baseDir}/scripts/branch-manager.py finish feature/auth python {baseDir}/scripts/branch-manager.py finish --current

Show branch status

显示分支状态

python {baseDir}/scripts/branch-manager.py status
python {baseDir}/scripts/branch-manager.py status

List branches by type

按类型列出分支

python {baseDir}/scripts/branch-manager.py list feature python {baseDir}/scripts/branch-manager.py list --all
python {baseDir}/scripts/branch-manager.py list feature python {baseDir}/scripts/branch-manager.py list --all

Clean merged branches

清理已合并分支

python {baseDir}/scripts/branch-manager.py clean
python {baseDir}/scripts/branch-manager.py clean

Show configuration

显示配置

python {baseDir}/scripts/branch-manager.py config --show
undefined
python {baseDir}/scripts/branch-manager.py config --show
undefined

Flow Validator

流程验证器

{baseDir}/scripts/flow-validator.py:
bash
undefined
{baseDir}/scripts/flow-validator.py:
bash
undefined

Validate branch name

验证分支名称

python {baseDir}/scripts/flow-validator.py validate-name "feature/auth"
python {baseDir}/scripts/flow-validator.py validate-name "feature/auth"

Check flow compliance

检查流程合规性

python {baseDir}/scripts/flow-validator.py check-flow feature/auth
python {baseDir}/scripts/flow-validator.py check-flow feature/auth

Validate merge target

验证合并目标

python {baseDir}/scripts/flow-validator.py validate-merge feature/auth develop
python {baseDir}/scripts/flow-validator.py validate-merge feature/auth develop

Full validation report

完整验证报告

python {baseDir}/scripts/flow-validator.py report
undefined
python {baseDir}/scripts/flow-validator.py report
undefined

Worktree Manager

Worktree管理器

{baseDir}/scripts/worktree-manager.py:
bash
undefined
{baseDir}/scripts/worktree-manager.py:
bash
undefined

Create worktree

创建worktree

python {baseDir}/scripts/worktree-manager.py add feature/auth python {baseDir}/scripts/worktree-manager.py add hotfix/urgent --auto-path
python {baseDir}/scripts/worktree-manager.py add feature/auth python {baseDir}/scripts/worktree-manager.py add hotfix/urgent --auto-path

List worktrees

列出worktree

python {baseDir}/scripts/worktree-manager.py list
python {baseDir}/scripts/worktree-manager.py list

Remove worktree

删除worktree

python {baseDir}/scripts/worktree-manager.py remove auth
python {baseDir}/scripts/worktree-manager.py remove auth

Clean merged worktrees

清理已合并的worktree

python {baseDir}/scripts/worktree-manager.py clean
python {baseDir}/scripts/worktree-manager.py clean

Show worktree status

显示worktree状态

python {baseDir}/scripts/worktree-manager.py status
undefined
python {baseDir}/scripts/worktree-manager.py status
undefined

Integration Points

集成点

With managing-commits Skill

与提交管理技能集成

Branch-aware commits:
markdown
1. Detect branch type (feature, bugfix, hotfix)
2. Suggest commit type based on branch
3. Add appropriate scope
4. Link to branch-related issues
5. Enforce flow-specific commit patterns
分支感知提交:
markdown
1. 检测分支类型(feature、bugfix、hotfix)
2. 根据分支类型推荐提交类型
3. 添加合适的范围
4. 关联分支相关工单
5. 强制执行流程特定的提交模式

With triaging-issues Skill

与工单管理技能集成

Issue-branch linking:
markdown
1. Create branch from issue
2. Add branch label to issue
3. Track progress on branch
4. Auto-close on merge (via PR)
工单-分支关联:
markdown
1. 从工单创建分支
2. 为工单添加分支标签
3. 跟踪分支进度
4. 合并时自动关闭工单(通过PR)

With reviewing-pull-requests Skill

与PR评审技能集成

Flow-aware PR review:
markdown
1. Validate PR target branch per strategy
2. Check branch naming conventions
3. Verify merge direction
4. Suggest squash vs merge based on flow
流程感知PR评审:
markdown
1. 根据策略验证PR目标分支
2. 检查分支命名规范
3. 验证合并方向
4. 根据流程建议压缩合并或普通合并

With /release-prepare Command

/release-prepare
命令集成

Release branch integration:
markdown
1. Create release branch if not exists
2. Coordinate version bumping
3. Generate changelog
4. Merge flow automation
发布分支集成:
markdown
1. 自动创建发布分支(如果不存在)
2. 协调版本升级
3. 生成变更日志
4. 合并流程自动化

Common Use Cases

常见使用场景

Use Case 1: Daily Feature Development

场景1:日常功能开发

markdown
User: "I need to work on the authentication feature"

You:
Let me set up a feature branch for you...

Checking for related issues...
Found: #42 "Implement user authentication"

Creating feature branch:
git checkout develop
git pull origin develop
git checkout -b feature/issue-42-auth

✅ Branch: feature/issue-42-auth
✅ Based on: develop (up to date)
✅ Linked to: #42

Ready to develop! Remember to:
- Commit with: feat(auth): description
- Reference issue: Refs #42
- When done: /branch-finish
markdown
User: "I need to work on the authentication feature"

You:
Let me set up a feature branch for you...

Checking for related issues...
Found: #42 "Implement user authentication"

Creating feature branch:
git checkout develop
git pull origin develop
git checkout -b feature/issue-42-auth

✅ Branch: feature/issue-42-auth
✅ Based on: develop (up to date)
✅ Linked to: #42

Ready to develop! Remember to:
- Commit with: feat(auth): description
- Reference issue: Refs #42
- When done: /branch-finish

Use Case 2: Parallel Development with Worktrees

场景2:使用Worktree进行并行开发

markdown
User: "I'm working on auth but need to fix a bug quickly"

You:
No problem! Let me create a worktree for the bugfix...

Your current work:
- Branch: feature/issue-42-auth
- Status: 3 uncommitted changes

Creating bugfix worktree:
git stash (or commit first)
git worktree add ../worktrees/bugfix-156 -b bugfix/issue-156

✅ Worktree: ../worktrees/bugfix-156
✅ Branch: bugfix/issue-156

To work on the bugfix:
cd ../worktrees/bugfix-156

Your feature work remains untouched in the main directory.
When done with bugfix: /branch-finish in that worktree
markdown
User: "I'm working on auth but need to fix a bug quickly"

You:
No problem! Let me create a worktree for the bugfix...

Your current work:
- Branch: feature/issue-42-auth
- Status: 3 uncommitted changes

Creating bugfix worktree:
git stash (or commit first)
git worktree add ../worktrees/bugfix-156 -b bugfix/issue-156

✅ Worktree: ../worktrees/bugfix-156
✅ Branch: bugfix/issue-156

To work on the bugfix:
cd ../worktrees/bugfix-156

Your feature work remains untouched in the main directory.
When done with bugfix: /branch-finish in that worktree

Use Case 3: Release Workflow

场景3:发布工作流

markdown
User: "Time to release version 2.0"

You:
Starting release workflow for v2.0.0...

Creating release branch:
git checkout develop
git pull origin develop
git checkout -b release/2.0.0

✅ Branch: release/2.0.0

Release preparation tasks:
1. Bump version in package.json
2. Update CHANGELOG.md
3. Final testing
4. Documentation review

I can help with:
- /release-prepare 2.0.0 (auto-bump and changelog)
- Manual edits as needed

When ready to ship:
- /release-finish 2.0.0 (merge and tag)
markdown
User: "Time to release version 2.0"

You:
Starting release workflow for v2.0.0...

Creating release branch:
git checkout develop
git pull origin develop
git checkout -b release/2.0.0

✅ Branch: release/2.0.0

Release preparation tasks:
1. Bump version in package.json
2. Update CHANGELOG.md
3. Final testing
4. Documentation review

I can help with:
- /release-prepare 2.0.0 (auto-bump and changelog)
- Manual edits as needed

When ready to ship:
- /release-finish 2.0.0 (merge and tag)

Use Case 4: Emergency Hotfix

场景4:紧急热修复

markdown
User: "Production is down! Security vulnerability!"

You:
🚨 Starting emergency hotfix workflow...

Creating hotfix branch from main:
git checkout main
git pull origin main
git checkout -b hotfix/security-patch

✅ Branch: hotfix/security-patch

Creating isolated worktree:
git worktree add ../worktrees/hotfix hotfix/security-patch

✅ Worktree ready: ../worktrees/hotfix

FAST TRACK:
1. Fix the issue in ../worktrees/hotfix
2. Commit: fix(security): patch vulnerability
3. Run: /hotfix-finish security-patch

This will:
- Merge to main AND develop
- Create tag v1.x.y
- Delete hotfix branch
- Update related issues
markdown
User: "Production is down! Security vulnerability!"

You:
🚨 Starting emergency hotfix workflow...

Creating hotfix branch from main:
git checkout main
git pull origin main
git checkout -b hotfix/security-patch

✅ Branch: hotfix/security-patch

Creating isolated worktree:
git worktree add ../worktrees/hotfix hotfix/security-patch

✅ Worktree ready: ../worktrees/hotfix

FAST TRACK:
1. Fix the issue in ../worktrees/hotfix
2. Commit: fix(security): patch vulnerability
3. Run: /hotfix-finish security-patch

This will:
- Merge to main AND develop
- Create tag v1.x.y
- Delete hotfix branch
- Update related issues

References

参考资料

Strategy Documentation

策略文档

{baseDir}/references/branching-strategies.md: Comprehensive guide to all supported branching strategies with pros/cons.
{baseDir}/references/gitflow-guide.md: Detailed gitflow workflow with diagrams and examples.
{baseDir}/references/github-flow-guide.md: Simple GitHub Flow for continuous deployment.
{baseDir}/references/worktree-patterns.md: Git worktree patterns and best practices.
{baseDir}/references/branching-strategies.md: 所有支持分支策略的综合指南,包含优缺点分析。
{baseDir}/references/gitflow-guide.md: 详细的gitflow工作流指南,含图表和示例。
{baseDir}/references/github-flow-guide.md: 适用于持续部署的简化GitHub Flow指南。
{baseDir}/references/worktree-patterns.md: Git worktree模式和最佳实践。

Configuration Templates

配置模板

{baseDir}/templates/branching-config-templates.json: Pre-configured templates for different team sizes and workflows.
{baseDir}/templates/branching-config-templates.json: 针对不同团队规模和工作流的预配置模板。

Important Notes

重要注意事项

  • Strategy consistency: Stick to one strategy per repository
  • Branch hygiene: Delete merged branches promptly
  • Worktree awareness: Remember which directory you're in
  • Flow discipline: Follow merge directions strictly
  • Configuration first: Set up branching-config.json before starting
  • 策略一致性:每个仓库坚持使用一种分支策略
  • 分支整洁:及时删除已合并的分支
  • Worktree感知:注意当前所在的工作目录
  • 流程纪律:严格遵循合并方向规则
  • 配置优先:先设置branching-config.json再开始工作

Error Handling

错误处理

Common issues:
  • Wrong base branch → Check strategy configuration
  • Invalid branch name → Suggest correct format
  • Merge conflicts → Guide through resolution
  • Stale worktree → Prune and recreate
  • Direct push to protected → Redirect to PR workflow
When you encounter branch operations, use this expertise to help users maintain clean, well-organized git history!
常见问题:
  • 基础分支错误 → 检查策略配置
  • 分支名称无效 → 推荐正确格式
  • 合并冲突 → 指导解决步骤
  • Worktree过期 → 清理后重新创建
  • 直接推送受保护分支 → 引导使用PR工作流
当遇到分支操作相关问题时,请运用此专业知识帮助用户维护清晰、有序的Git历史记录!