スラッシュ区切りのブランチ命名規約
スラッシュ区切りのブランチ名を使用して階層構造を作成します。タイプ、チーム、スコープごとに複数のパスセグメントでブランチを整理します。
詳細な説明
スラッシュ区切りのブランチ命名
スラッシュ区切りの命名は、基本的なtype/descriptionパターンを拡張し、追加の階層レベルを持たせます。これにより、一部のgitクライアントやツールがツリーとして表示できるフォルダーのような構造が作成され、ブランチの整理がより視覚的になります。
フォーマット
type/ticket/description
type/team/ticket-description
type/scope/ticket/description
例
| 構造 | ブランチ名 |
|---|---|
| タイプ + チケット + タイトル | feature/PROJ-123/add-user-auth |
| タイプ + チーム + チケット | feature/backend/PROJ-123-api-endpoints |
| タイプ + スコープ + 説明 | bugfix/payments/fix-double-charge |
| ユーザースコープ | feature/alice/PROJ-456-dashboard-redesign |
階層的ブランチ名の利点
gitクライアントのツリービュー — SourceTree、GitKraken、VS CodeのGit Graphなどのツールは、スラッシュ区切りの名前をフォルダーツリーとして表示し、タイプやチームごとにブランチを簡単にブラウズできます。
ワイルドカードパターン — CI/CDシステムやブランチ保護ルールは任意のレベルでマッチできます:
feature/**はサブ構造に関係なくすべてのfeatureブランチにマッチし、feature/backend/*はバックエンドの機能のみを対象とします。チーム組織 — 大規模チームはチーム名や開発者名をネームスペースとして含められます:
feature/platform/PROJ-123-migrate-authvsfeature/mobile/PROJ-456-biometric-login。スコープの分離 — ブランチが特定のモジュールやサービスを参照する場合、スコープセグメントがコンテキストを提供します:
bugfix/api/fix-rate-limit-headervsbugfix/ui/fix-modal-overflow。
考慮事項
- 一部の古いgitツールは深いネスト(3レベル以上)をうまく処理できない場合がある
- 長いブランチ名はコミットメッセージやターミナル出力で扱いにくくなる
- チームは一貫性を維持するために階層の深さと順序について合意する必要がある
/文字の特性上、feature/somethingが存在する場合、featureという名前のブランチは持てない(gitの制約)
ユースケース
複数のチーム(バックエンド、フロントエンド、モバイル、インフラ)を持つ大規模なエンジニアリング組織が、モノレポでの迅速なフィルタリングのために、ブランチタイプと担当チームの両方を示すブランチ名が必要です。