はじめに
小規模な開発であればほとんど気にならないと思いますが、大規模な開発の場合ルールを決めないでブランチを使っていると、無秩序にブランチの作成やマージが行われ、リポジトリが煩雑になるかなと思います。
これを解決するために「ブランチモデル」というブランチ管理方法が考案されたのですが、まずはその中の1つである「git-flow」について解説したいと思います。
git-flowとは
git-flowでは、役割が決められた5種類のブランチを切り替えながら開発を進めていきます。
その5種類のgit-flowについて簡単に説明します。
①masterブランチ
masterブランチは、Gitでリポジトリを新規作成するとデフォルトで作成されるブランチです。
masterブランチに直接コミットしている方も多いと思いますが、git-flowではmasterブランチに直接コミットすることはなく、マージを行うだけのブランチとして扱います。
②developブランチ
developブランチは、開発の中心となるブランチです。
開発中はdevelopブランチからブランチを切って、作業完了後に再びマージするという作業を繰り返すことになります。
リポジトリを新規作成したときに、masterブランチからdevelopブランチを切っておきます。
③featureブランチ
featureブランチは、機能の追加や変更、バグフィックスを行うブランチです。
ひとつの変更に対してひとつの featureブランチを切ることになるため、開発中で最も使われるブランチになるでしょう。
基本的に新規で何か機能開発をしたり機能追加をする時はこのブランチを使っていきます。
④releaseブランチ
releaseブランチは、リリースするために使うブランチです。
developブランチから releaseブランチを切って、そのブランチでリリース作業を行います。
リリース作業が完了後、masterブランチとdevelopブランチにマージして、masterブランチのマージコミットにリリースタグをうちましょう。
⑤hotfixブランチ
リリースのタイミングで重大な不具合が見つかった場合に使うブランチです。
masterブランチから直接hotfixブランチを切って修正を行いましょう。
修正完了後に masterブランチとdevelopブランチにマージして、リリースタグをうちます。
派生元がmasterになるだけで、操作的にはreleaseブランチと同様です。
おわりに
いかがでしたでしょうか。
次回はfeatureブランチを切ってpushする方法についてまとめたいと思います。