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→Jenkinsの連携

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

no image

コミュニケーション能力の定義

新卒でも既卒でも採用基準で非常に大きい要素といえばコミュニケーション能力かと思います。 が、この言葉、明確な定義がなく、私もいろんな会社でいろんな人と仕事をしてきましたが、明確な言語化がはっきりとでき …

no image

自動テストをやる上で今まで障害だったこと

自動テストについて、考え方自体は5年以上前から知っていましたが、プロジェクトで実際に使われているのを見たのは今年4月になってからでした・・・ 自動テスト完備なんて昔は夢物語だと思ってたんですけどね・・ …

no image

新しいプロジェクトに入った時にやること

新しいプロジェクトに入った時に最初にすべきことややっておくことなど Contents1 仕様理解編1.1 ユーザーの行動遷移の理解1.2 キー系のデータの理解1.3 データグルーピング1.4 サンプル …

no image

読書感想文:世界最高水準の採用セオリー

今まで何冊か採用の本を読みまして、人の行動を予測するのは基本的には「過去の行動」に焦点をあてることがベストというのがほぼ共通項ですが、今回紹介する「世界最高水準の採用セオリー」もこの行動面接をシステマ …

アーカイブ