| name | branch-fix-strategy |
| description | 修正を複数ブランチに適用する際のブランチ戦略。featureブランチへの先行commitとcherry-pickによる短命branchへの適用手順。環境別branch(qa/staging/epsilon等)への修正適用時に参照する。 |
| when_to_use | 同じ修正を複数ブランチ (qa/staging/release等) に適用する必要があるとき。Triggers: 'cherry-pick', '環境ブランチに修正適用', 'qaに反映', 'stagingに反映', 'release branchへ', 'multi-branch fix', 'apply to qa/staging' |
ブランチ修正適用戦略
適用タイミング
- featureブランチの修正を
qa/*, staging/*, release/* 等の環境ブランチにも適用する必要がある場合
- 同じ修正を複数ブランチに並行適用する場面全般
核心ルール
1. 修正は feature ブランチに先に commit → cherry-pick で環境ブランチへ
✅ feature に commit → cherry-pick して短命ブランチ → 環境ブランチへ PR
❌ 短命ブランチに先に commit → feature に手作業で再実装(二重作業・不整合リスク)
2. 環境ブランチを feature ブランチに merge しない(main 汚染禁止)
❌ feature/xxx ← merge qa/staging(conflict 解消目的でも禁止)
環境ブランチを featureブランチにmergeすると、後で feature → main のPRに環境固有コードが混入する。
3. origin/main を必ず取り込む
短命ブランチを push する前に必ず git merge origin/main する。CI で最新 main 必須の Workflow があるため。
4. マージ済みブランチに push しない
環境ブランチ向けの短命ブランチに push する前に gh pr list --head <branch> で PR 状態を確認する。マージ済みなら新ブランチ + 新 PR を作成する(サフィックス -v2, -v3 を付ける)。
実行手順
/ndf:cherry-pick-pr <base-branch> で自動化されている。手動で行う場合のみ以下を参照。
git checkout feature/xxx
git add <files> && git commit -m "fix: 修正内容"
git --oneline -1
git fetch origin qa/staging
git checkout -b feature/xxx-for-staging origin/qa/staging
git fetch origin main
git merge origin/main --no-edit
git cherry-pick -x <commit-hash>
git push -u origin feature/xxx-for-staging
gh create --base qa/staging --title
git checkout feature/xxx