読み手の対象者
つい最近gitやgithubを知った方やgit flow?名前は聞いたことあるという方を対象者としています。ですので、git flowをバリバリ使っているなどは物足りないと思います。
git flowとは?
git flowとはgitのブランチを活用した開発手法であり、ブランチ戦略とも言われています。
ちなみに似たような名前でgithub flowという言葉もありgit flowと内容は似ていますが、同じではないので注意してください。
git flowの5つのブランチ
ここからはgit flowの基本となる5つのブランチとそれぞれの役割について説明していきます。
masterブランチ
gitでの開発経験がある方なら分かると思いますが、最も有名なブランチです。
役割は、本番と同期するブランチで基本はいじらないというブランチで、マスターブランチに管理者しか触れないようにプロテクトがかかっていることもあるくらい安易に触れない恐れ多いブランチです。
developブランチ
新規開発されたものがマージされるブランチです。ここで開発してコミットする訳ではないので注意してください。
featureブランチ
実際に開発を行いコミットをする場所がfeatureブランチです。新人プログラマーや若手プログラマーのコミットは基本ここだけとなります。
developブランチからブランチを切り、featureブランチからdevelopブランチへマージする開発手法をとります。
※ブランチを切るとはブランチを作成するという意味です。
releaseブランチ
developブランチがある程度追加されたら切るブランチで、本番環境に追加したくない機能などを調整するためのブランチです。
hotfixesブランチ
本番環境などで生じた重大なバグを修正するブランチです。本番環境で運用していない場合あまり使うことがないブランチです。
git flowを使った開発スタイル
developブランチを切る→feature/testブランチ作成
上記のようにして開発を行っていくfeature/testブランチができます。
(※/を入れると階層構造になります。)
feature/testブランチで開発を終えると、developブランチにマージします。
featureブランチは開発が進むにつれてどんどん増えていき管理し辛くなるのでマージし終えたfeatureブランチは削除します。この時大事なのがdevelopブランチにしっかりマージできているか開発者どうしで確認することです。
基本はこの繰り返しを行っていきます。
記事を書いてて思ったのですが、開発でもgitでもやはり開発者同士のコミュケーションが大事だなと感じました。