( ꒪⌓꒪) ゆるよろ日記

( ゚∀゚)o彡°オパーイ!オパーイ! ( ;゚皿゚)ノシΣ フィンギィィーーッ!!!

git cherryでブランチ間のコミットのdiffを。色もつけて

git cherryで、ブランチ・ツリー間のコミットのdiffを見ることができる。

git cherry [-v] [<upstream> [<head> [<limit>]]]


デフォルトでは、upsteamに無いコミットは"+"で、逆にheadになくてupstreamにあるコミットは"-"で表示される。それとsha1のみ。味もそっけもない。

f:id:yuroyoro:20121022153203p:plain


"git cherry -v"で、コミットログもでる。

f:id:yuroyoro:20121022153223p:image:w640


これでも充分だけど、もっとdiffっぽく色付けたり、Autherや日付表示したりしたい。のでこんなalias書いた

  # colorized cheery -v
  cch= "!f() { git cherry -v "$@" | awk '{ if($1 == \"+\"){ color = \"green\" } if($1 == \"-\"){ color = \"red\" } cmd = \"git show --date=short --no-notes --pretty=format:\\047%C\" color $1 \" %h %Cgreen%cd %Cblue%cn%x09%Creset%s\\047 --summary \" $2; cmd | getline t; close(cmd); print t }' ;}; f"

( ꒪⌓꒪) Add git cch as colorized git cherry · 859732d · yuroyoro/dotfiles · GitHub


こんな表示になる。

f:id:yuroyoro:20121022153303p:image:w640


awkコワイ。