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

プロジェクトにおける改善(主にコミュニケーション関連)

今まで複数のプロジェクトに参加してきましたが、そこで大切なコミュニケーションについて書かせていただきました。 コミュニケーションって言葉、多義的であまり好きではないのですが(汗)現実的に伝わりやすいた …

no image

Git→Jenkinsの連携

気がついたら投稿数が50超えてましたね。 ガチンコ塾とあわせて更新してますが、2ヶ月ちょいなので結構いいペースで更新しているかと思います。 大切なのはこれを継続できるかですね。ただ、ガチンコ塾に比べる …

no image

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

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

no image

コードレビュー時のポイント

コードレビュー(仕様的な点ではなくて規約的なところのチェック)などで気をつけることなど。 ポイントとしては検知ツールで確認するコストを減らすことが一番大事(カスタマイズの方法について調べておく)、ある …

no image

Gitでのbranch 新ブランチの作成&リモート反映&別環境反映

gitを使っているとわけのわからないことは多いのですが(爆)、その中の1つがbranch(ブランチ)でしょう。 これも説明をきいてもわからないのですが、自分でそのケースを学習してみればすぐにわかると思 …

アーカイブ