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

レビューについて

以前、コードレビューそのもののポイントについてはコードレビュー時のポイントでまとめましたが、レビュー自体の体制の注意点やそこでの気づきなど。 Contents1 目的2 定型的なものはチェックリストを …

no image

スプリントレビューについて

現在の現場では主に画面系の機能をベースにスプリントレビューを実施しています。 私はほぼ見学みたいなものなんですが、これを機にスプリントレビューについてちょっとまとめてみようと思います。 以前のアジャイ …

no image

最新版のgitをソースから&git diffおさらい

Contents1 gitをソースから2 git diff gitをソースから gitはyumから入れてもいいんですが、バージョンが古かったりすると機能がいろいろと制限されるなどのデメリットもあります …

no image

Gitの活用に関して

今回はgitの技術的なことではなく、主に運用に関して。超基礎的なことですが、チームで開発する場合にはルールを徹底してないと混乱をきたします。 Contents1 ブランチを追加機能ごとにきる2 バグに …

アーカイブ