はじめに
開発する上で、ブランチの運用方法を意識する事は全くありませんでした。
しかし、開発する環境が変わり、運用方法が違う事に驚いたので調べてみると、
git flow と github flow というものがある事を知りましたのでまとめます。
どちらもメリット・デメリットがあり、各開発現場の特徴に合わせる必要がありますが、
個人的な経験での好みは、github flow が好きです。
github flow
使うブランチは2つ
・masterブランチ(本番環境)
・作業ブランチ
masterブランチから作業ブランチを作成する。
↓
作業ブランチへの修正やプルリク・レビュー
↓
masterブランチへマージ(リリースとほぼ同義語)
● 良い点
・スピードある開発が出来る。
・同じ確認を繰り返す必要が無い。
● 注意点
・作業ブランチで修正したものがmasterブランチへマージされる為、
間違いが無いようテストや確認を慎重に行う必要がある。
・間違いが無いように、ドキュメント管理もしっかり行う必要があると思います。
git flow
複数のブランチを使い分けて、順を追ってマージと確認をする。
ブランチは開発現場によって差異があるかも?
master
本番環境のブランチ
release
リリース準備をするためのブランチ
develop
開発用のブランチ
feature
developから派生し、機能の追加や、優先度の低いバグ修正などの度に発生するブランチ
hotfix
緊急的なバグ修正などのために、masterから派生するブランチ
参考:
ありがとうございます🙇♂️
https://www.konosumi.net/entry/2018/04/29/222602
●良い点
段階を分けて確認を慎重に行う事が出来る。
●注意点
github flowと比べると開発スピードが落ちる。
各環境で動作確認を行うので、同じ確認を複数回する。
github flowと比べるとコンフリクトに遭遇する事が多いように思いました。