skillup

技術ブログ

Git プロジェクト管理

ブランチ構成について

投稿日:2022年10月2日 更新日:

gitのブランチ構成などについて少しまとめてみようと思います。

ブランチ一覧

feature

開発者が作成する個別の開発ブランチ。滞留期間は基本的に1日〜1週間程度など短い期間になることが一般的です。ブランチ名は実際にはタスク管理ツール(Redmine、GitHub、Backlog)のチケット番号やIDなどが付与されることが一般的です。

バグの場合はhotfixブランチなどと言う場合もありますね・・・

develop

メインの開発ブランチになります。基本的にはfeatureをこのブランチにマージしていくのが日常の開発の流れになるでしょう。

staging

staging環境へ展開されるブランチ。

production

読んで字の如く本番環境へ展開されるブランチです。

ブランチの実運用

一番一般的なのは以下のような流れでしょうか。

develop←feature 個別のブランチを終えて、開発ブランチへのマージを行いたいとき

staging←develop 開発での検証が済んでstagingへのリリースを行いたい時

production←staging ステージング環境での検証が済んで本番へのリリースを行いたい時

実際に私が体験した中ですと、以下のようなフローを挟んでいるプロジェクトもありました。

developが複数

develop_xxxx←feature

develop←develop_xxx

これはかなり一般的なパターンだと思いますが、開発チームが複数あってAチームがdevelop_A、Bチームがdevelop_Bにまずマージをして、その後、developにマージするといったパターンです。

週次のブランチ対策

例えばリリース日が決まっており、コードの締切などを厳密に決めたい時などは以下のような運用にしてます。

release-xxxxxx(日付や第何週のような日時がわかるもの)←feature

develop←release-xxxxxx

featureからdevelopに直接入れない理由ですが、今週と来週分のブランチを分けたい場合など(来週分の修正だが今週には入れたくない、日付の関係で入れられない場合)、developだと融通が効かないため上記のようにしたことがあります。

-Git, プロジェクト管理

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ファイルを戻したい時のGitコマンド(主にgit resetの用法)

使用ケースでGitコマンドを復習してみようかなと思いました。 主にgit resetの用法整理ですが・・・ Contents1 ローカルを間違ってaddしてしまい、インデックスへの変更を取り除きたい2 …

no image

githubのremoteリポジトリへの登録

githubにgit pushしようとしたときにエラーがでたんでちょっとメモ。 githubに登録する場合、設定が適切でないと、

など …

no image

gitのfetchに関して

gitでリモートの変更を取り込む場合、大きく分けるとfetchとpullがあります。 両者の違いですが、 fetch=一度、変更を取り込んで、ローカルの変更と相違点を確認できます。確認後mergeを行 …

no image

文化づくりについて(チームビルディングに関して)

プロジェクトやチームの文化づくりについて。 エンジニアに限らず塾運営スタッフ時代から感じていたことなどを。 全く同じ仕事をしていても職場の文化というのは全く違うもので、ある場所で当たり前なことが別の場 …

no image

ディレクション時に重要な視点

ディレクション(ベンダーや内製時)時に留意するポイント Contents1 開発ルールの構築2 アサインと人材スクリーニング3 言葉の共通化(特にアウトプット)4 問題化のキャッチアップ5 リソースの …

アーカイブ