gitのブランチ運用と種類について

こんにちはAKIです。

私はSubversionをずっと使っていましたが最近はgitを使用している現場やプロジェクトの方が多くなってきましたよね。

自分はgithubから入りましたが、実際に開発と運営をやってみているうちにブランチ運用が色々あってメリットデメリットそれぞれで適材適所だなと思うことが多いです。

そこで今回はブランチ運用の種類と特徴についてまとめてみます。

git flowとは?github flowとは?

ここのqiitaがすごく分かりやすいです。

git flowとgithub flowとは?その違いは? - Qiita
##git flowとgithub flowとは?その違いは?ふたつとも、Gitにおけるリポジトリのモデルのこと。こんなふうにブランチを切って運用していくと便利だよというワークフローのこと。g…

git flowとは

要約するとgit flowとは、

  • masterブランチ
  • developブランチ
  • featureブランチ

があって、developからfeatureを切って開発して、feature→develop→master(releaseブランチを切ったり)マージの手順のこと。

github flowとは

基本はgitflowと大差ないがgithubのプルリクエスト(pull request)機能を大いに使用したフロー。

  • masterブランチ
  • featureブランチ

ブランチはdevelopを省略してmasterからfeatureを切って開発して、feature→masterをプルリクで第三者レビューしてマージの手順のこと。

gitのブランチ間のマージ機能の素晴らしさはsubversionばかり使用していた者からすると最初は目から鱗ですよね。

git feature flowとは?

そして更に運用上臨機応変で便利なのがこちらのgit feature flow。

webアプリの案件やネイティブアプリの案件など様々かと思いますが、webやwebview系は運用上本番リリースが確定していなかったり順序が変わったり急にリリースすることがありますよね。

そんな時は

  • masterブランチ
  • testブランチ(stagingブランチ)
  • featureブランチ

で環境ごとのブランチを運用すると便利です。

masterからfeatureブランチを切って開発して、

feature→test(そしてデバッグ)

デバッグ完了したら

feature→masterマージすることでエンハンスや改訂毎にリリースを分割できます。

 

参照

長々となりましたが、プロジェクトの人数の規模やレビュー体制やリリース頻度などに合わせてブランチ運用は様々な最適解があるので適宜見直していければなと思います。

それでは。

 

開発 開発日記
この記事の投稿者
AKI

ソフトウェアエンジニア歴10年以上、業務系システムからゲーム開発まで幅広く経験し
現在はフリーランスプログラマとして従事している。
得意言語: PHP, JavaScript, Java, C#(Unity)

フォローする
フォローする
スポンサーリンク
WoW creators
タイトルとURLをコピーしました