私はこのquestionを見ましたが、答えは最初のリポジトリの分割前に移動されたファイルの履歴を保存することについては論じません。リポジトリを分割するときに、移動したファイルのgitバージョン履歴を保存することはできますか?
私が興味を持っているのは、最初は1つのレポがあり、いくつかのファイルはリファクタリングのためにこのレポでさまざまな時間に移動しています。ここでは、このリポジトリからファイルのサブセットを選択して別のリポジトリを作成することで、この初期リポジトリを分割しています。 --subdirectory-filter
引数を使用してfilter-branch
を実行すると、新しいリポジトリを残りのファイルに関連する履歴のみに制限することができます。
しかし、いくつかの実験の後、これはファイルが最後に移動される前に作成されたファイルの履歴を破壊するように見えます(つまり、git log --follow
にはファイル名の変更の記録がなくなります)。
filter-branch
コマンドを実行するときgit blame
とgit log
はまだファイルの完全な履歴をたどることができるように、これを回避する方法はありますか、移動または名前が変更されているファイルの履歴を保持するために他の方法はありますか?
なぜ、 'git clone'でリポジトリを作成し、それぞれから欲しがらないファイルをワイプしないのですか? –
これについてはどうすればいいですか:http://help.github.com/remove-sensitive-data/ –
私はあなたの質問に「ファイルの履歴を保存する」と読んでいたので、各ファイルの履歴を保存したいと思ったのです。 :-) –