やりたいこと
Git 上で管理しているコードで特定の行が消えていることがわかった。
行が消えてしまった時点以降に作成されたデータを精査したいので、いつ削除されたのか知りたい。
やり方
以下のコマンドを実行して、探していたコミットを見つけたら後はコミット番号を使って煮るなり焼くなり。
$ git log -p -S '削除されたコード' app/models/hogehoge.rb
commit 52e41af01XXXX3694654XXXX2750e59eXXXXa0d5
Author: Henko Shitahito <henko.shitahito@gmail.com>
Date: Wed Mar 8 11:10:31 2017 +0900
:sparkles: hogehoge
diff --git a/app/models/hogehoge.rb b/app/models/hogehoge.rb
index a3d6XXX..609fXXX 100000
--- a/app/models/hogehoge.rb
+++ b/app/models/hogehoge.rb
@@ -78,18 +78,7 @@ class Hogehoge
- # 削除されたコード
+ # 代わりに追加されたコード
commit XXXX...
コマンドの意味
git log
: 変更履歴を表示
-p
: 各コミットの diff を表示
-S '文字列'
: diffの内容を検索
最後のファイル名は不明な場合はなくても可