私は、複製されて壊された2つのリポジトリ履歴を持っている状況があります(SVNの周りの相互作用と移行を介して-私の選択ではありません)。同じ一時保守リポジトリにリモートとして両方のリポジトリがあります。それらは数百のコミットに相当する履歴を共有し、その後、「古い」コミットはいくつかのブランチでさらに数十の間続きます。「新しい」ツリーを古いツリーの状態まで早送りする必要があります。ただし、マングリングのため、同じ内容であるにもかかわらず、同じツリーとして認識されません。
gitに「著者が異なっていても、これら2つのコミットは同一です」(著者IDは翻訳で混乱していました)と伝える方法が欲しいのですが。可能であれば、2つのリモートツリーをトラバースして、同じコンテンツを持つすべてのノードに対してその関連付けを行うことができればと思います。これは、両方に手動で「コミット1」のマークを付けて、残りを実行できることを意味します。それ以外の場合は、すべての分岐のルートを手動でマークする必要があります(それほど悪くはありませんが、そうでない方がよいでしょう)。
グラフトポイントを使用してみましたが、これはほぼ私が望むものです。gitkは私が望むものを示していますが、メイン(新しい)リポジトリにプッシュバックすると、数百の重複するコミットに沿ってドラッグされました。まだマージされていない子ノードに対して実行する必要があるため、実行するのも少し面倒です。
https://stackoverflow.com/a/973403/372757を見つけて、それが機能すると思います。ブランチごとに1回、古いコミットを新しいリポジトリにリベースするだけで済みます。
それでも、元のリクエストが可能かどうかを知りたいと思います。