「git log –diff-filter=D –name-status で削除されたファイルパスを確認する」に関しての考えをまとめました。

目次

削除されたファイルの変更履歴や、ソースコードを確認したくなった。「あの時の設計思想はどうだったかな」「あの機能で実装していたロジックはどのようなものだったかな」と。

そう思った時にパッと思いつく解決方法は、git checkout <ファイルを消す前のコミットID>だ。ただ、古いコミットであれば、git logやGUIによるgitの変更履歴を参照するのに時間がかかってしまう。

そのファイルのフルパスを明確に覚えているとしたら、git log -- <FILE_PATH>を使用すればよい。 とはいえ、数ヶ月も前の更新だと、ファイルパスを思い出すことができない。

そういう時のオプションについて紹介。

削除されたファイル名をみる

git log --diff-filter=D --name-status

このコマンドによって、ファイルの削除が行われたコミットのみがフィルタリングされて表示される。

そこである程度思い出したら、さらにgrepしてあげると見つけやすい

git log --diff-filter=D --name-status | grep -A 10 ANYTHING.php