リモート/パブリックブランチ「OLD」をクリーンアップする必要があります。これには、悪い/巨大なコミットが含まれているためです。
OLD - 簡易グラフ
(...) -> c234 -> c235(huge to fix) -> c236 -> c237(huge to fix) -> c238 -> c239 -> (...) -> HEAD
そうするために私はした:
1) 「NEW」ブランチを作成しました。
2) 最初の大きなコミットの前に戻る (c234)
3) 最後の大きなコミットの前にすべてのコミットをチェリーピックします。(c236)
4) 次に、最後の巨大なコミット (c237) の後で、変更されたすべてのファイルを「OLD」ブランチからコピーしました。
5) そして最終的に、変更を反映する多くの小さなコミットを作成しました (c235、c237)
NEW now - 簡略化されたグラフ
(...) -> c234 -> c236 -> (many commits reflecting state after c237) -> HEAD
今、私の意見では、(c237) 以降に行われたすべての変更を「OLD」で「NEW」の上にリベース/チェリーピックする必要があります。
NEW 予想 - 単純化されたグラフ
(...) -> c234 -> c236 -> (many commits reflecting state after c237) -> c238 -> c239 -> (...) -> HEAD
この git-rebase -i の前に試してみましたが、これは公開レポであるため、多くの (OLD の HEAD へのコミットがほぼ 400 件あります) マージが含まれており、時々競合を解決する必要がありました。魔女には何日もかかる可能性があります。
それに対処する方法についてのアイデア。