1. ホーム
  2. git

[解決済み] プロジェクトのコミット履歴から削除されたファイルを見つけるには?

2022-03-17 19:40:49

質問

昔々、私のプロジェクトにあるファイルを取得できるようにしたいと思います。

問題は、いつ削除したのか、どのパスにあったのかが全く分からないことです。

このファイルが存在したときのコミットを見つけるにはどうしたらいいですか?

どのように解決するのですか?

正確なパスが分からない場合は、以下の方法をご利用ください。

git log --all --full-history -- "**/thefile.*"

ファイルがあったパスがわかっている場合は、このようにします。

git log --all --full-history -- <path-to-file>

これで、そのファイルに触れたすべてのブランチのコミットのリストが表示されるはずです。そして、欲しいファイルのバージョンを見つけて、それを...で表示します。

git show <SHA> -- <path-to-file>

または、以下の方法で作業コピーにリストアします。

git checkout <SHA>^ -- <path-to-file>

キャレット記号( ^ ) を取得し、チェックアウト 先行 というのも、この時点で <SHA> コミットするとファイルが削除されるため、削除されたファイルの内容を取得するために直前のコミットを参照する必要があります。