Claude-skill-registry branch-management
main, develop, release ブランチに関するPR作成、マージ、ブランチ作成時にブランチ戦略を確認・案内する
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/branch-management" ~/.claude/skills/majiayu000-claude-skill-registry-branch-management && rm -rf "$T"
manifest:
skills/data/branch-management/SKILL.mdsource content
ブランチ管理ガイド
目的
main, develop, release ブランチの操作が正しいフローで行われることを担保する。
トリガー条件
以下の操作について議論・作業する際に自動的に実行:
ブランチへのマージ・PR作成main
ブランチへのマージ・PR作成develop
ブランチの作成・マージrelease/*- 作業ブランチの作成・派生元の決定
ブランチ戦略
全体フロー図
flowchart LR subgraph Protected["保護ブランチ(直接push禁止)"] main[main] develop[develop] end subgraph Release["リリースブランチ"] release[release/*] end subgraph Work["作業ブランチ"] feature[feature/*] fix[fix/*] refactor[refactor/*] docs[docs/*] end develop -->|派生| release release -->|派生| feature release -->|派生| fix release -->|派生| refactor release -->|派生| docs feature -->|PR| release fix -->|PR| release refactor -->|PR| release docs -->|PR| release release -->|PR| develop develop -->|PR| main
マージ方向図
flowchart TD A[作業ブランチ] -->|"① PR作成・マージ"| B[release/*] B -->|"② PR作成・マージ"| C[develop] C -->|"③ PR作成・マージ"| D[main] D -->|"④ vタグ付与"| E[リリース完了] style A fill:#e1f5fe style B fill:#fff3e0 style C fill:#f3e5f5 style D fill:#e8f5e9 style E fill:#fce4ec
ルール一覧
| 操作 | 許可 | 禁止 |
|---|---|---|
| main への変更 | develop からの PR マージのみ | 直接 push、他ブランチからのマージ |
| develop への変更 | release/* からの PR マージのみ | 直接 push |
| release/* の作成 | develop から派生 | main や作業ブランチから派生 |
| 作業ブランチの作成 | release/* から派生 | main や develop から直接派生 |
実施手順
1. 現在のブランチ状態を確認
git branch -a git log --oneline -5
2. 操作タイプ別の確認
作業ブランチを作成する場合
# 正しい手順 git checkout release/x.y.z git checkout -b feature/my-feature # または git checkout -b feature/my-feature release/x.y.z
PR を作成する場合
| 現在のブランチ | PR先 | コマンド例 |
|---|---|---|
| feature/, fix/, refactor/, docs/ | release/* | |
| release/* | develop | |
| develop | main | |
PR をマージする場合
1. PR の状態確認
# PR一覧を確認 gh pr list # 特定のPRの詳細を確認 gh pr view <PR番号> # CIステータスを確認 gh pr checks <PR番号>
2. マージ前チェックリスト
flowchart TD A[PRマージ開始] --> B{CIが通過?} B -->|No| C[CI失敗を修正] C --> B B -->|Yes| D{レビュー承認済み?} D -->|No| E[レビューを依頼] E --> D D -->|Yes| F{コンフリクトなし?} F -->|No| G[コンフリクト解消] G --> F F -->|Yes| H[マージ実行] H --> I[ローカル反映]
3. マージ実行
# Squash マージ(推奨:コミット履歴をクリーンに保つ) gh pr merge <PR番号> --squash # 通常マージ(コミット履歴を保持) gh pr merge <PR番号> --merge # リベースマージ gh pr merge <PR番号> --rebase
4. マージ方法の選択基準
| マージ方法 | 使用場面 | コマンド |
|---|---|---|
| Squash | 作業ブランチ → release(複数コミットを1つに) | |
| Merge | release → develop(履歴保持) | |
| Merge | develop → main(履歴保持) | |
5. マージ後の確認
# マージ完了を確認 gh pr view <PR番号> --json state # リモートの状態を確認 git fetch origin git log origin/develop --oneline -5
マージ後のローカル反映
git checkout develop git pull origin develop
3. リリースフロー
sequenceDiagram participant W as 作業ブランチ participant R as release/x.y.z participant D as develop participant M as main W->>R: PR作成・マージ Note over W,R: 機能完成 R->>R: バージョン番号更新 R->>D: PR作成・マージ Note over R,D: CI確認 D->>M: PR作成・マージ Note over D,M: 最終確認 M->>M: vタグ付与 Note over M: git tag vx.y.z
警告パターン
以下の操作を検知した場合は警告:
| 操作 | 警告メッセージ |
|---|---|
| main への直接 push は禁止です。develop からの PR を作成してください。 |
| develop への直接 push は禁止です。release/* からの PR を作成してください。 |
| 作業ブランチは release/* から派生してください。 |
| 作業ブランチは release/* から派生してください。 |
| main からのマージは想定外です。派生元を確認してください。 |
クイックリファレンス
作業ブランチの種類: feature/* - 新機能 fix/* - バグ修正 refactor/* - リファクタリング docs/* - ドキュメント 作業開始: git checkout release/x.y.z git checkout -b feature/my-work # または refactor/*, fix/*, docs/* 作業完了(PR作成): gh pr create --base release/x.y.z PRマージ: gh pr checks <PR番号> # CI確認 gh pr merge <PR番号> --squash # 作業ブランチ用 gh pr merge <PR番号> --merge # release/develop用 マージ後のローカル反映: git checkout <マージ先ブランチ> git pull origin <マージ先ブランチ> 完全リリースフロー: 1. 作業ブランチ → release/* (PR作成 → マージ) 2. release/* → develop (PR作成 → マージ) 3. develop → main (PR作成 → マージ) 4. main に vタグ付与: git tag vx.y.z && git push origin vx.y.z