質問: ### 前提・実現したいこと featureブランチが独立している事が特徴と謳われている 拡張 Git flow (Git Feature flow)を試しています。 masterブランチからfeatureブランチを作成し、 featureブランチからdevelop,masterへとpull request~mergeを行うのですが、 その後、新たにfeatureブランチを作成し、developブランチにmergeを行おうとすると、 それ以前のmasterブランチへのコミットログが履歴に介入してきます。 これはこのブランチモデルの想定通りなのかどうか、ご教示いただきたく存じます。 ### 発生している現象 feature(1~3)からdevelopとmasterにそれぞれPR,mergeを行います。(mergeコミットができあがる ![![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/d4df1e1b954db253d9dabc88faf650f1.png)](1c02dd0f092bc56c93e5a0547687802c.png) 上述のPRが承認されたと仮定して、あらたにfeature(gap_1)ブランチを作成します。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/56a9fe4298031cf7eeae3422961df2a4.png) しかし、developにはmasterはのmergeコミットログがないので、 ![feature1だけではない・・・](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/92fc4d8a98f6d229c43cd5cda69e193f.png) master へのコミットログがgithub上で出てきます。 ### 該当のソースコード ``` //まずはmaster からdevelop作成 git checkout -b develop //feature 1 作成 git checkout master git checkout -b feature1 //feature1でなんやかんや touch file1.txt git add . git commit -m "add:1th" //git hub で master と developにプルリク(このブランチモデルではdevelopからmasterにはmergeしないと。。。) ~~~~github上でPR 承認 etc //master でpull git checkout master git pull //新しいfeatureブランチ作成 git checkout -b next_sprint touch next.txt git add . git commit -m "add:next feature" //ここで、developの親コミットはmasterのmergeコミットを含んでいないので、 masterから新たに派生したブランチのコミットログが含まれてくる。 (開発者は自身の修正分しか認識がない状態) 感覚的な認識としては、masterブランチへのPRと同じく、developへも修正分のこみっとろぐしかのころ ``` ### 試したこと 上述の通り ### 質問の本題 この状態は、拡張 Git flow (Git Feature flow)としては想定内のことなのでしょうか? 多人数での開発においては、各々のプログラマは自身の触ったソースコード以外の変更が現れてくるのは意図していない挙動なのかなという認識より質問させていいただいております。 なにか観点の見落としなどあればご指摘いただけますと幸いです。 お手数をおかけしますがよろしくお願い申し上げます。
回答: git feature flowとしては想定通りのような気がします。 リリースしない、マージもしないブランチで自動テスト流してもあまり意味がないし、バグを検知したとしてもマージ済で原因の切り分けが大変なので、それは良いブランチ運用方法には見えません。 gitflow, github flow, trunk basedから特徴とpros/consを選んで上でどれかを選んだ方が良いような気がします。 参考: https://bliki-ja.github.io/PatternsForManagingSourceCodeBranches/