スラッシュ区切りのブランチ命名規約

スラッシュ区切りのブランチ名を使用して階層構造を作成します。タイプ、チーム、スコープごとに複数のパスセグメントでブランチを整理します。

Naming Conventions

詳細な説明

スラッシュ区切りのブランチ命名

スラッシュ区切りの命名は、基本的な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

階層的ブランチ名の利点

  1. gitクライアントのツリービュー — SourceTree、GitKraken、VS CodeのGit Graphなどのツールは、スラッシュ区切りの名前をフォルダーツリーとして表示し、タイプやチームごとにブランチを簡単にブラウズできます。

  2. ワイルドカードパターン — CI/CDシステムやブランチ保護ルールは任意のレベルでマッチできます:feature/**はサブ構造に関係なくすべてのfeatureブランチにマッチし、feature/backend/*はバックエンドの機能のみを対象とします。

  3. チーム組織 — 大規模チームはチーム名や開発者名をネームスペースとして含められます:feature/platform/PROJ-123-migrate-auth vs feature/mobile/PROJ-456-biometric-login

  4. スコープの分離 — ブランチが特定のモジュールやサービスを参照する場合、スコープセグメントがコンテキストを提供します:bugfix/api/fix-rate-limit-header vs bugfix/ui/fix-modal-overflow

考慮事項

  • 一部の古いgitツールは深いネスト(3レベル以上)をうまく処理できない場合がある
  • 長いブランチ名はコミットメッセージやターミナル出力で扱いにくくなる
  • チームは一貫性を維持するために階層の深さと順序について合意する必要がある
  • /文字の特性上、feature/somethingが存在する場合、featureという名前のブランチは持てない(gitの制約)

ユースケース

複数のチーム(バックエンド、フロントエンド、モバイル、インフラ)を持つ大規模なエンジニアリング組織が、モノレポでの迅速なフィルタリングのために、ブランチタイプと担当チームの両方を示すブランチ名が必要です。

試してみる — Git Branch Name Generator

フルツールを開く