Github でのプルリクエストのマージ待ちの際の良い運用について


Git でブランチAを作り、プルリエクストを送ったとします。  
ブランチA がマージ待ちの状態で、Aをベースに新たにブランチBを切って機能を付け加えたい場合、どのような運用がベターでしょうか。

  * AをベースにブランチBを作成して開発、プルリクエストを送る(BのプルリクにはAのコミット履歴も乗ってしまうが、masterとのマージ作業を省略できる)

  * master から B を作成して開発、Aが master にマージされた後、 origin/master を B にマージしてプルリクエストを送る

よろしくお願いします。




> AをベースにブランチBを作成して開発、プルリクエストを送る(BのプルリクにはAのコミット履歴も乗ってしまうが、masterとのマージ作業を省略できる)

自分はこの方法に近い形で運用しています。  
ただし、Aがmasterにマージされるまでは、Bのプルリクはしないようにしています（上記のようにAのコミットが混入するため）  
できればBはpushもしない方がいいです。そしてAがmasterにマージされたら、Bをrebaseしてから、pushとプルリクをしています。こうすると樹形図もシンプルになります。

この方法を使えば、Aがプルリク待ちでもAのコードをベースに開発の続きをすることができると思います。  
まぁ、なるべくプルリク待ちで作業がストップしないような開発体制にすることも大切ですね




> AをベースにブランチBを作成して開発、プルリクエストを送る(BのプルリクにはAのコミット履歴も乗ってしまうが、masterとのマージ作業を省略できる)

自分はこの方法に近い形で運用しています。  
ただし、Aがmasterにマージされるまでは、Bのプルリクはしないようにしています（上記のようにAのコミットが混入するため）  
できればBはpushもしない方がいいです。そしてAがmasterにマージされたら、Bをrebaseしてから、pushとプルリクをしています。こうすると樹形図もシンプルになります。

この方法を使えば、Aがプルリク待ちでもAのコードをベースに開発の続きをすることができると思います。  
まぁ、なるべくプルリク待ちで作業がストップしないような開発体制にすることも大切ですね

