いまさら聞けない!Git Flowの基本とその使い方
Gitを使ったチーム開発では「どのブランチで、誰が、何をするのか」を明確に決めておく必要があります。
その中でも有名なブランチ運用モデルが 「Git Flow」 です。
この記事では、Git Flowの基本的な考え方と実際の使い方をわかりやすく紹介します。
Git Flowとは?
Git Flowは、2010年に Vincent Driessen 氏が提唱した チーム開発向けのGitブランチ運用ルール です。
特徴は、役割ごとにブランチを使い分けること。
主に以下の5種類のブランチを使います。
Git Flowの5つのブランチ
ブランチ名 | 役割 |
---|---|
master |
本番環境にデプロイされている安定版コード |
develop |
次回リリース予定の開発統合ブランチ |
feature/* |
新機能の開発用ブランチ |
release/* |
リリース準備(微調整・最終テスト)用 |
hotfix/* |
本番環境の緊急バグ修正用 |
ブランチ運用の流れ
1. 新機能を開発する
# develop から feature ブランチを切る
git checkout develop
git checkout -b feature/awesome-feature
作業が終わったら develop にマージします。
git checkout develop
git merge feature/awesome-feature
2. リリース準備をする
# develop から release ブランチを作成
git checkout develop
git checkout -b release/1.0.0
ここで最終調整やテストを行い、問題なければ master と develop にマージします。
git checkout master
git merge release/1.0.0
git tag -a v1.0.0 -m "リリース"
git checkout develop
git merge release/1.0.0
3. 本番バグが発生した場合
# master から hotfix ブランチを作成
git checkout master
git checkout -b hotfix/1.0.1
修正が完了したら master と develop にマージします。
git checkout master
git merge hotfix/1.0.1
git tag -a v1.0.1 -m "ホットフィックス"
git checkout develop
git merge hotfix/1.0.1
Git Flowのメリット
- 開発中・リリース中・本番修正のブランチが明確に分かれている
- 並行開発に強く、複数人での作業がしやすい
- 大規模プロジェクトでも運用しやすい
⚠ 注意点と課題
課題 | 説明 |
---|---|
ブランチ数が多く、運用が煩雑 | 作業ルールがないと混乱のもとになる |
毎日のようにリリースする開発には不向き | スピード感重視の開発には不利 |
GitHub Flow / Trunk Based Development の方が軽量で人気 | シンプルな運用を求める現場に最適 |
🔚 まとめ
Git Flowは、ブランチの役割を明確にしてチーム開発をスムーズにする強力な運用モデルです。
ただし、プロジェクトの規模や開発スタイル、リリース頻度によっては、
GitHub Flow や Trunk Based Development といった軽量なモデルの方が合う場合もあります。
最適なGit運用ルールはチームで話し合って決めましょう!
🔗 関連リンク