4

この質問を見ましたが、最初のリポジトリの分割前に移動されたファイルの履歴を保存することについての回答はありません。

私が興味を持っているのは、次のシナリオです。最初は 1 つのリポジトリがあり、リファクタリングのためにいくつかのファイルがさまざまな時点でこのリポジトリに移動されています。ここで、このレポからファイルのサブセットを選択して別のレポを作成することにより、この初期レポを分割しています。filter-branch引数を使用して実行すると--subdirectory-filter、新しいリポジトリを残りのファイルに関連する履歴のみに制限できます。
ただし、いくつかの実験の後、これにより、ファイルが最後に移動される前に作成されたファイルの履歴が破棄されるようです (つまり、git log --followファイルの名前変更の記録が残りません)。

コマンドを実行するときにファイルの完全な履歴を引き続き追跡できるようにする方法git blameはありますか、または移動または名前変更されたファイルの履歴を保存する他の方法はありますか?git logfilter-branch

4

1 に答える 1

0

大きな (元の) リポジトリをそのまま維持し、必要なものを含む 2 つの新しいリポジトリを作成し、元のリポジトリに git グラフトを使用してそれらを接着します。

この方法では、履歴全体の 2 つの個別のコピーは必要ありません。また、履歴がまったく必要ない場合は、クローンを作成する必要がありません。

于 2012-06-04T12:01:53.143 に答える