LoginSignup
7
5

More than 3 years have passed since last update.

Git CLIでマージ数、コミット数などの統計情報を取る

Posted at

特定期間内の master ブランチへのマージ数

例えば、過去1週間分の集計をしたい場合

master ブランチをcheckoutしたwork directoryで以下を実行

git log --after="`date -d '-1 week' '+%Y-%m-%d 00:00:00'`" --before="`date -d today '+%Y-%m-%d 00:00:00'`" --oneline --merges | grep "into 'master'" | wc -l

特定期間内のcommit数

git log --after="`date -d '-1 week' '+%Y-%m-%d 00:00:00'`" --before="`date -d today '+%Y-%m-%d 00:00:00'`" --oneline --no-merges | wc -l

特定期間内にcommitされたファイル数

git log --after="`date -d '-1 week' '+%Y-%m-%d 00:00:00'`" --before="`date -d today '+%Y-%m-%d 00:00:00'`" --numstat --no-merges --pretty=format:"" | sed '/^$/d' | wc -l

特定期間内にcommitされたファイルの additions と deletions それぞれの合計

git log --after="`date -d '-1 week' '+%Y-%m-%d 00:00:00'`" --before="`date -d today '+%Y-%m-%d 00:00:00'`" --numstat --no-merges --pretty=format:"" | sed '/^$/d' | awk '{plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'

出力例

+29663, -32369

最後の awk処理は以下を参考にした。
http://koyamay.hatenablog.com/entry/2014/10/06/022654

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5