フィーチャーブランチとは?
フィーチャーブランチは、単一の機能や修正をメインラインにマージできる状態になるまで、分離して構築するための専用ブランチです。
フィーチャーブランチは、ブランチ運用における日々の主役です。特定の作業のために 1 つ作成し、メインブランチを乱さずに開発し、レビューとテストを受けてからマージします。フィーチャーブランチを小さく短命に保つことが、スムーズなワークフローの鍵です。
フィーチャーブランチは何のためにあるか
フィーチャーブランチは 1 つの変更の作業を分離し、メインブランチが安定した状態を保てるようにします。実験したり、進行中の作業をコミットしたり、他の誰にも影響を与えずに反復したりできます。機能が完成して検証されると、通常はプルリクエストを通じてマージし戻されます。
フィーチャーブランチを作成する
説明的な名前でメインラインからブランチを切り、作業を行い、そしてマージします。
A feature branch and PR
git switch -c feature/dark-mode
# implement, commit, push
gh pr create --base main健全に保つ
短命なフィーチャーブランチはきれいにマージされますが、長命なものは main から乖離してコンフリクトを生みます。マージまたはリベースを通じて最新の main を定期的に取り込むことで、フィーチャーブランチを現実に近く保ち、最終的なマージを苦痛のないものにします。
CI/CD におけるフィーチャーブランチ
CI はフィーチャーブランチへのすべてのプッシュとプルリクエストで実行され、変更が main に到達する前に高速なフィードバックを提供します。パイプラインはフィーチャーブランチでは処理を減らし、テストは行うがデプロイはしないことが多く、デプロイは main のために取っておきます。ブランチ保護は、チェックが通るまでフィーチャーブランチをマージできないようにします。
フィーチャーブランチのヒント
- 論理的な変更ごとに 1 つのフィーチャーブランチを使います。
- 乖離とコンフリクトを避けるため、ブランチは短命に保ちます。
- マージまたはリベースで main と頻繁に同期します。
- マージする前に CI にブランチを検証させます。
重要なポイント
- フィーチャーブランチは 1 つの変更の作業を、準備が整うまで分離します。
- 短命なブランチはきれいにマージされ、長命なものはコンフリクトを引き起こします。
- CI は各フィーチャーブランチが main にマージされる前に検証します。
関連ガイド
What Is a Git Branch?What is a Git branch? Learn how branches are lightweight movable pointers, how they enable parallel work, and…
What Is a Pull Request?What is a pull request? An explainer on how PRs propose changes, gather review, run CI checks, and serve as t…
What Is Trunk-Based Development?What is trunk-based development? Learn how short-lived branches and frequent merges to a single trunk keep in…