多くの検索を行った結果、移動したファイルの完全な履歴を Git で、さらに重要なことに Gitk で簡単に表示できる満足のいく方法が見つかりませんでした。git log --follow [filePath]
andを使用gitk --follow [filePath]
すると、ファイルが関与していたコミットも表示されますが、移動前のファイルの実際の変更履歴は表示されません。このように、大雑把ではあるが単純な回避策を考え出しました。
gitk
移動したファイルに対して次の操作を行いますgitk [newFilePath]
。最初のコミットの SHA1 ID をコピーします。これは、ファイルが移動されたコミットである必要があります。gitk
コピーした SHA1 ID: に対してaを実行しますgitk [SHA1ID]
。最新のコミットは、移動が発生したときでなければなりません。移動したファイルを見つけて、古いパスをコピーします。gitk
先ほどコピーした SHA1 ID と古いファイル パスに対して次の操作を行います。gitk [SHA1ID] -- [oldFilePath]
このプロセスにより、移動前のファイルの履歴を表示できます。複数の移動があった場合、上記のプロセスを繰り返すことができます。
この問題に対するより良い解決策があれば、特にこれらの手順を組み合わせて完全な履歴と動きを表示する方法がある場合は、高く評価されます。