Git - ファイルをそのファイルの過去の履歴にリベースする

Git - ファイルをそのファイルの過去の履歴にリベースする

次のような履歴を持つファイルがfilenameサブディレクトリの Git リポジトリにあるとします。dir1

v7 --- v8 --- v9 --- v10

このファイルは、さまざまなサブディレクトリを持つ大きなリポジトリの一部ですが、上記の変更セットのみがこのファイルに影響します。今、私はそのファイルの古いバージョン (filenameも) を掘り起こしましたが、これは誤って別のサブディレクトリにコミットされていましたdir2。この古いバージョンは、1 つの変更セットにのみ「存在」します。たとえば、次のようになります。

v4

ここで問題となるのは、これら 2 つのファイルの履歴を (git に) 書き換えて、次のような履歴filenameだけが存在するように表示できるかどうかです。dir1

v4 --- v7 --- v8 --- v9 --- v10

のファイルを削除してdir2、 のファイルの新しいバージョンとしてコミットすることもできると思いますdir1が、そうするとファイルの実際の履歴が台無しになり、実際にはファイルの最も古いバージョンが最新のものとして表示されてしまいます。

Git リポジトリの履歴を「微調整」する経験がほとんどないので、その方法がわかりませんが、リベースが答えになるのではないかと思います。リポジトリで作業しているのは私だけなので、唯一の懸念は、これらの変更を 2 台のコンピューター間で同期することです。

私がやりたいことは、実際にはファイルをdir2履歴内の元の場所にそのまま残すことだと思いますが、v4上記のコミットを変更して、ファイルを 内のファイルのバージョンにしたいのですdir1

関連情報