git统计代码行数
1、统计某段时间内所有人员代码量
git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --since ==2022-07-30 --until=2022-11-10 --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
2、统计某段时间内某个人的代码量
git log --author="wangqiongying" --since=2022-07-30 --until=2022-11-10 --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'
3、统计最近150天内所有人的提交排名降序
git log --all --since=150.day.ago --pretty='%aN' | sort | uniq -c | sort -k1 -n -r
4、统计最近60天内前5个提交者
git log --all --since=60.day.ago --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5
5、统计2021/5/1~2021/6/30的提交者排名
git log --format='%aN' --since=2021-05-01 --until=2021-06-30 --all | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
6、统计所有人的提交次数排名
git shortlog --all --numbered --summary --no-merges
唯有热爱方能抵御岁月漫长。