diffをファイルに書き出し

commitのdiffをgrepしたいのだが、gitだけで検索する方法がわからなかったのでとりあえず~/diffに全commitのdiffを書きだした

mkdir ~/diff
git log | grep '^commit' | ruby -lane 'puts $F[1].strip' | ruby -lane 'arr=ARGF.to_a.map{|i|i.strip}; for i in 0...(arr.size-1) do a,b=arr[i,i+1]; puts cmd="git diff #{a} #{b} > ~/diff/#{a}"; system cmd end'


あとは

grep 'bug' * --color -A10 -B10

とかやって探す