{"published":"2012-01-12 18:07:22","blog_url":"https://shokai.hatenadiary.org/","version":"1.0","author_url":"https://blog.hatena.ne.jp/shokai/","image_url":null,"description":"commit\u306ediff\u3092grep\u3057\u305f\u3044\u306e\u3060\u304c\u3001git\u3060\u3051\u3067\u691c\u7d22\u3059\u308b\u65b9\u6cd5\u304c\u308f\u304b\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u3068\u308a\u3042\u3048\u305a~/diff\u306b\u5168commit\u306ediff\u3092\u66f8\u304d\u3060\u3057\u305f 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' \u3042\u3068\u306f\u2026","provider_name":"Hatena Blog","categories":["OneLiner","Ruby","git"],"width":"100%","url":"https://shokai.hatenadiary.org/entry/20120112/1326359242","provider_url":"https://hatena.blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fshokai.hatenadiary.org%2Fentry%2F20120112%2F1326359242\" title=\"diff\u3092\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u51fa\u3057 - \u6a4b\u672c\u8a73\u89e3\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","height":"190","blog_title":"\u6a4b\u672c\u8a73\u89e3","type":"rich","title":"diff\u3092\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u51fa\u3057","author_name":"shokai"}