Gitでコード管理をするだけならコード管理を目的としたGUIアプリやIDE備え付けの機能を使った方が楽です。一方コマンドラインからGitを用いるならば、見た目や操作性は微妙ですがより自由自在にGitの機能を使えます。アプリやIDE自体、ボタンやモニターにGitのコマンドと装飾された結果を結びつけているものですから、コマンドラインの方がより自由なモノになります。コマンドラインの方が自由とはいえ、使い勝手が悪いのは事実で面白い使い方の例などが欲しくなります。git-tips/tipsにはその様な例が載っています。
git-tips/tips: Most commonly used git tips and tricks.
isotai/git-tips: 最もよく使われるgitの小技と裏技(少し翻訳停滞中)
例えば、’Group commits by authors and title’という説明でgit shortlogというコマンドが載っています。これは次の様な結果を見せます。
コミット数と名前とコミットメッセージの一覧です。こういった結果を元にシェルでちょちょいと加工するだけで興味深いモノが出力できます。例えば次です。
git shortlog | grep ^[^\ ] | awk -F [\(\)] '{print $2,$1}' | sort -h -r
grepで行頭に空白のない文字列であるコミット数と名前だけに絞り込み、awkで()区切りで文字列操作してコミット数が行頭になる様に文字列加工、sortで人間にとって自然な順番の反対で並び替え、とすると
の様にユーザごとのコミット数降順が分かります。同様に変更した行数やらマージされたプルリク数やら色々解析できます。また、git help -aで全てのgitコマンドのリストが出るのでそこから自分で探るのも手です。