darudaru

だるだるしてるエンジニア

削除したファイルの履歴をGitで探す

リポジトリのファイルの整理をしていたときに、本番環境にはファイルがあるのに、Gitのリポジトリにはどこにもファイルが見当たらなくて、理由が分からず困ったときに使ったGitのコマンド。

$ git log -- <path>

ファイルパスは部分一致で探してくれるわけではないようなので、きちんとパスを指定してあげる必要があります。「git log – src/test.php」というように。

ちなみに実際にファイルをリポジトリから削除した作業者は、削除したことを覚えていませんでした。履歴を見ると数年前の作業だったようなので、当然ですね。

ひたすらgrepして使用しているプログラムが無いか調べてから本番環境から削除するのと、Gitの履歴を追うことで、なぜ削除してもいいファイルなのか理由を理解してから、念のためプログラムをgrepして調べたあとに本番環境から削除するのとでは、安心感が全然違います。理由を知れてよかったです。