web100tips’s blog

webエンジニアが知っておくべきこと100を1日1投稿します

Gitのブランチ戦略を完全理解:main・dev・featureの使い分けガイド

 

ブランチ戦略(main, dev, feature)完全ガイド

チームでのソフトウェア開発において、ブランチ戦略はプロジェクトの品質と開発スピードを大きく左右します。本記事では、1時間で理解できるように、maindevfeatureといった代表的なブランチ戦略について体系的に解説します。

1. ブランチとは?

Gitのブランチは、プロジェクトのコードを並行して変更するための仕組みです。特定の機能開発、バグ修正、リリース準備などを独立して行えるようになります。

2. よく使われるブランチ戦略

  • main(またはmaster):本番環境にデプロイされる安定版コード
  • develop(またはdev):次のリリース候補を統合するための開発用ブランチ
  • feature/*:新機能や改善点などを個別に開発するためのブランチ
  • hotfix/*:本番環境での緊急修正用
  • release/*:リリース準備のための調整・検証を行うブランチ

3. Git Flowとは

Git Flowは、有名なブランチ戦略の一つで、上記のようなブランチ構成をベースにしています。

Git Flowの流れ

  1. main から develop ブランチを作成
  2. develop から feature ブランチを作成し、機能開発
  3. develop にマージ
  4. release ブランチを切って最終調整
  5. main にマージして本番リリース
  6. main を develop にもマージ(履歴の整合)

4. ブランチ名の命名規則

  • feature/login-form:ログインフォーム機能
  • hotfix/typo-header:見出しの誤字修正
  • release/v1.2.0:v1.2.0リリース準備

5. ブランチ運用のメリット

  • 複数人が同時に安全に開発可能
  • 本番コードを安定して維持
  • コードレビュー・CI/CDがしやすい
  • トラブル時のロールバックが容易

6. Pull Request(PR)とブランチ

開発が終わったら、feature ブランチから develop へ PR を出し、コードレビュー・CI 実行後にマージします。これにより品質を担保します。

7. CI/CDとの連携

GitHub Actions などと連携すれば、feature ブランチの push に自動テストを実行、main へのマージで自動デプロイ、といったワークフローが構築できます。

8. よくあるブランチ運用のミスと対策

  • develop への直接 push: 保護ルールを設定し、PR 経由に限定
  • 命名の不統一: チームで命名規則をドキュメント化
  • 放置ブランチ: 定期的に不要ブランチを削除

9. チームごとの最適化

チームの規模や運用ポリシーにより、Git Flow を簡略化して main + feature だけで運用するケースや、trunk-based development に近い形を採用することもあります。

10. まとめ

ブランチ戦略はプロジェクトの成功を左右する重要な要素です。main・dev・featureブランチをうまく使いこなし、効率的かつ安全な開発体制を築きましょう。