約 1 か月前に「マスター」ブランチから作成された「プロジェクト」ブランチがあります。ブランチを別々に保ちながら、マスター ブランチからプロジェクト ブランチにすべての変更を取り込もうとしています。2 つのブランチの組み合わせである 1 つのコミットの最終結果が必要です。これを gerrit セットアップにプッシュできます。
両方のブランチの最新バージョンを取得してから、マスター ブランチをプロジェクト ブランチにマージしようとしました。これにより、2 つのブランチを結合するマージ コミットが発生しました。ただし、gerrit でうまく動作するすべての変更を含む単一のコミットが必要なため、「オリジン/プロジェクト」の上にブランチをリベースしようとしましたが、マスター ブランチの 600 以上のコミットをマージする必要がありました。二人が分裂してから。これが事実であるため、この時点でコミットをプッシュすると、同様にクレイジーなリベースが必要な gerrit が発生すると想定しています。
また、プロジェクト ブランチをリベースして、それが分岐したポイントより上の 1 つのコミットまで縮小してから、その 1 つのコミットをマスター ブランチの上にリベースしようとしました。最後に、「Refs ref/heads/project is at [hash] but expected [different hash]」というエラーが表示されました。このアプローチでは、プロジェクト ブランチのコミット履歴も消去されますね。
これにアプローチするより良い方法はありますか?master ブランチにプロジェクトのものがない限り、次に 2 つを結合しようとすると、同じ競合が発生するという私の仮定は正しいですか?