Git でファイルを移動/名前変更して履歴を維持することは可能ですか? 質問する

Git でファイルを移動/名前変更して履歴を維持することは可能ですか? 質問する

Gitでプロジェクトのサブツリーの名前を変更/移動したいのですが、

/project/xyz

/components/xyz

単純な を使用するとgit mv project components、 のコミット履歴がすべてxyz project失われます。履歴が維持されるようにこれを移動する方法はありますか?

ベストアンサー1

Git はコミットで操作を永続化するのではなく、名前の変更を検出するため、移動操作がファイルへの変更とは別にコミットされる限り、 を使用するかgit mvmvないかは問題ではありません。

コマンドlog--follow名前変更操作の前に履歴を継続する引数。つまり、ヒューリスティックを使用して類似のコンテンツを検索します。

完全な履歴を検索するには、次のコマンドを使用します。

git log --follow ./path/to/file

おすすめ記事