GitHub Branch Strategy
プロジェクトにおけるブランチの定義と運用ルール(Git Flow)を規定する。 他のGit関連スキル(checkout, commit, pull-request)はこの戦略に従う。
ブランチの定義 (Definitions)
1. Base Branch (統合元/マージ先)
- •役割: 開発の起点となり、最終的な統合先となるブランチ。
- •決定ロジック:
- •明示的な指定: ユーザーが指定した場合はそのブランチ。
- •デフォルト: 指定がない場合、
mainまたはmaster。
2. Feature Branch (作業ブランチ)
- •役割: 特定のタスク、機能追加、バグ修正を行うための短命なブランチ。
- •決定ロジック:
- •明示的な指定: ユーザーが指定した場合はそのブランチ。
- •自動生成: 指定がない場合、以下の命名規則で新規作成する。
- •規則:
<type>/<subject> - •Type の例:
- •
feat: 新機能の追加 - •
fix: バグ修正 - •
docs: ドキュメントの変更 - •
refactor: リファクタリング - •
chore: その他保守
- •
- •Subject の例: (英語推奨、ハイフン繋ぎ)
- •
add-user-registration - •
fix-login-auth-bug - •
update-readme
- •
- •例:
feat/add-user-registration
- •規則:
作業手順 (Procedure)
- •
ベースブランチの最新化 (Sync Base Branch):
- •開発の起点となるベースブランチ(通常は
mainまたはmaster)に切り替え、リモートの最新状態を同期する。 - •コマンド:
git checkout <base_branch> && git pull origin <base_branch>
- •開発の起点となるベースブランチ(通常は
- •
ベースブランチの統合 (Integrate Base into Feature):
- •既存の
Feature Branchで作業を再開する場合は、ベースブランチの最新変更をそのブランチに取り込む(マージまたはリベース)。 - •コマンド例:
git merge <base_branch>またはgit rebase <base_branch>
- •既存の
- •
作業ブランチへの切り替え (Switch to Feature Branch):
- •新規作成、または既存の作業ブランチに切り替える。
- •新規作成時の命名規則:
<type>/issue-<Issue番号>-<subject> - •コマンド:
git checkout -b <feature_branch>またはgit checkout <feature_branch>
運用ルール (Rules)
- •保護 (Protection):
Base Branch(main/master) への直接コミットは禁止。必ずFeature Branchを介する。