くわこのpermission denied.

WEBエンジニアの僕がぶつかった技術的な問題や発見

gitで昔のソースを復活させる方法

f:id:mask0702:20150611162732p:plain

諸事情で昔のソースを復活させなきゃいけない場合のメモ

僕は今まで昔のソースを復活させようとしたときに以下のようにしてました。

ex) hogeHoge メソッドをgit logから探すとき

git log -p | grep hogeHoge -A 30

みたいにやって、出てきたログの中からコミット番号を探す不毛なことをしていました。
(そもそもあんまりソース復活させる機会がなかったので、不毛な作業もそこまで苦ではありませんでした。)

ところが、今回大規模に復活させなければいけなくなり、絶望。
何か手はないかと探してたらありました笑

git log -S 'hogeHoge'

これでコミットの中で"hogeHoge"という文字列を含む行が変更されたコミットだけを表示してくれます。
gitありがとう!!!!

参考qiita.com