ひとつのfeatureブランチに対して複数の担当者が作業するケースを前提としています。
担当者Aがプッシュ後、feature→mainブランチにプルリクエストを実施し、
マージ待ちの状態です。
上記プルリクエストがオープンの状態で、担当者Bがプッシュした場合、
担当者Aのプルリクエストしたコミット履歴に担当者Bのコミット履歴が積み上げられてしまいます。
こういったケースでは、運用ルールとして
担当者Aのプルリクエストがクローズするまで他担当者のプルリクエストは待った方が良いのでしょうか?
それとも、そもそもひとつのブランチに対して複数の担当者が作業することが自体が
あまり適切ではないのでしょうか?
git/githubの使用経験がまだ浅く
ご存知の方いらっしゃいましたらご教授いただけると幸いです。
ひとつのfeatureブランチは、ひとつの機能の実装やバグ修正を行うべきで、プルリクを作った時点で作業者としてはそのブランチは完成したつもりという宣言になります。もちろん、レビューの結果に基づいて修正する場合はありますが。
担当者Aがプルリクを作ったということは、担当者Aから見たらそのブランチでの作業は完了したはずですが、担当者Bはどんなコミットを行ったのでしょうか? 担当者Bから見たら不完全な点が見つかったので修正したということならありでしょうけど、別の機能などを実装したのであれば、そもそもfeatureブランチの使い方が間違ってるということになると思います。
コメントありがとうございます。
ひとつの機能を担当者Aと担当者Bで分担して作業しているケースを想定していました。
このようなケースでは
担当者Aと担当者Bそれぞれの作業が終わり、両者のコミットがプッシュされた後でプルリクするのが正しいでしょうか?(=担当者Aの作業しか終わっていないにも関わらずプルリクしたことが間違い。)
チームとしてどういう作業フローを採用するかによりますが、ひとつの機能を複数の担当者で実装するなら、全員の作業がひと段落ついた時点でプルリクするのが自然だと思います。(Bさんの残作業がその機能の一部としてまとまってるなら、Aさんのプルリクとは別ブランチにするのもありですが、それなら最初からひとつの feature ブランチは担当者一人にするのが一般的かと…。)
考え方とても参考になりました。
ありがとうございました!
回答2件
あなたの回答
tips
プレビュー