はい、別の git フローの質問.. :(
「標準」の git rebase フローをよく知っています。
- 開発者は、上流のブランチ (「master」など) から追跡ブランチ (「featureA」など) を作成します。
- 開発者コード、コミット、リベースによるプル、コード、コミット、リベースによるプルなど
- コードが完成し、開発者がコミットをスカッシュしてマスターにプッシュする
私が抱えている問題は、 master とマージする前にコードをレビューする余地がないことです。レビュアーはマスター上にある場合にのみ変更を確認するため、開発者が何かを微調整する必要がある場合、特定の機能に対してマスター上で複数のコミットが行われます。理想的には、1 つだけです。
私が知っているいくつかのオプションはこれを解決しますが、理想的ではありません:
- 開発者に機能ブランチをリモートにプッシュしてもらいます。これに関する問題は、マスターからリベースした後、プッシュを強制プッシュにする必要があることです。この場合、おそらく安全ですが、通常どおりビジネスを行いたいとは思いません。
- アップストリームの変更を機能ブランチにリベースしないで、それらをマージします。これにより、機能ブランチを押しつぶしてコミットをマスターにプッシュすることはできません (右??)
- gerrit / github を使用します。純粋なgitでこれを達成する方法があると推測する必要がありますか?
より良い方法はありますか?