この記事git replace
で説明されているように、リポジトリに履歴を移植できるように、リポジトリの履歴の一部を切り取ろうとしています。
この記事で説明されているケースと私のリポジトリの主な違いは、マスター ブランチに既存のブランチがあることです。履歴を削除した後も、これらのブランチとその分岐点のレイアウトを維持したいと考えています。
私の履歴はおおよそ次のようになります
cut here
|
v
o--o--o--o--o--o--o master
\ \ \
\ \ o--o A
\ o--o--o B
o--o--o C
"cut here" コミットの前に master から分岐することはありません。
私が達成したいのはこれです:
o--o--o history
initial tree at cut
|
v
o--o--o--o--o master
\ \ \
\ \ o--o A
\ o--o--o B
o--o--o C
つまり、最初のツリーでマスターをリベースするだけでは十分ではなく、マスターのリベース後に同等の新しいコミットで既存のすべてのブランチをリプレイする必要もあります。競合が発生する可能性があるため、新しいマスターですべてのブランチを再生したくありません。
これを行うスマートでうまくいけば自動的な方法はありますか?