git cherryでブランチ間のコミットのdiffを。色もつけて
git cherryで、ブランチ・ツリー間のコミットのdiffを見ることができる。
git cherry [-v] [<upstream> [<head> [<limit>]]]
デフォルトでは、upsteamに無いコミットは"+"で、逆にheadになくてupstreamにあるコミットは"-"で表示される。それとsha1のみ。味もそっけもない。
"git cherry -v"で、コミットログもでる。
これでも充分だけど、もっと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
こんな表示になる。
awkコワイ。