Vincent Driessenが考案
ブランチの中でも常に存在しており、開発の中心になる中核のブランチのこと。チームメンバーが最も参照するブランチ。開発中のすべての昨日は、いずれメインブランチに取り込まれる。
メインブランチから派生し、役目を終えると再びメインブランチに吸収されるブランチ
リリース可能な状態のソフトウェアを常に維持するブランチ。 リリース可能とはソフトウェアが安定的に動作できる状態を保っている状態。 コードレビューされていない、結合されていないコードがmasterへマージされるのは避ける必要がある。 実際にリリースする内容までを含むのがmasterブランチであり、作りかけの昨日は入れない。 masterブランチへの直接のコミットは避け、他のブランチからのマージによって更新していく。 リリース済みの昨日だけが入っているので、リリース後に問題が見つかった場合の修正の起点にもなるブランチ。
最新の開発の状態を反映するブランチ。チームメンバーが機能単位のブランチから機能を足していくブランチになるので、 日々機能がたされていき、チームでの最新の成果物が見られるブランチ。 初期にmasterから分岐していこう、ずっとmasterと並行して開発が進み、直接developとmasterでマージを行うことはない。 開発用ブランチのため、チーム全員が参照することになる。そのため、派生ブランチを作成したチームメンバーが ビルドやテスト進行を妨げられないように動作の安定性が求められる。 developに取り込まれるコードはレビューや単体テストをクリアしている必要がある。 基本的に直接コミットすることはない。
新機能を開発する際に使用。 機能単位ごとにteatureブランチを作成される。機能単位ごとに作成されるのでブランチなので、 リリース予定やマイルストーンにない機能に関するfeatureブランチは存在しないことになる。 たいてい少人数で参照される。開発内容は開発集雨量段階で メインブランチへのマージ前コードレビュー・機能レビューが行われチームメンバーに把握される。 機能テスト・レビュー後にdevelopブランチへマージする。 マージ後に削除する。
GitHubが提唱したブランチモデル、GitHub本社でも実践されている。 git-flowをよりWeb開発に適した形に変更したブランチ運用パターン。