全力で遠回り さらに表示

[Git] projectブランチによる運用
前職で「projectブランチ」をよく使っていたが、知っている人が居なかったのでメモとして残す。
featureブランチによる運用
単独で作業をする場合、feature
を作成して作業します。
ブランチの作成
feature
は、develop
から切ります。
レビューとマージ
feature
で作業が完了したら、develop
へのプルリクエストを作成してコードレビューの依頼を出します。

projectブランチによる運用(基本)
複数人で作業する場合、project
とfeature
を作成して作業します。
projectブランチの必要性
featureブランチを複数人で共有して作業すると、コンフリクトが発生しやすくなります。 ローカルで作業し、pushしようとしたらコンフリクトが発生する場合もあり作業性が悪いので、 「ひとつのブランチを複数人で直接共有する」のは避けたほうが良いです。 projectブランチは、複数人で直接共有しないために用意するので基本的にprojectブランチで作業することはありません。 (コンフリクト発生時には、解消のためにprojectブランチで作業が必要な場合もあります)
ブランチの作成
project
は、develop
から切ります。
feature
は、project
から切ります。
レビューとマージ
feature
で作業が完了したら、project
へのプルリクエストを作成してマージの依頼を出します。
(コードレビューは必須ではありません)
マージする人は作業者以外の人であれば誰でも構いません。
project
ですべての作業が完了したら、develop
へのプルリクエストを作成してコードレビューの依頼を出します。

コンフリクトが発生した場合
コンフリクトが発生した場合は、project
でコンフリクトを解消する作業を行います。

projectブランチによる運用(応用)
project
から作成しているfeature
は、とくに縛りはありません。
feature
はマージした後に使いまわしても、新しく作成しても問題ありません。
