1、统计个人新增/删除代码量
git log --author="_Your_Name_Here_" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "增加的行数: %s, 删除的行数: %s, 有效的总行数: %s\n", add, subs, loc }' -
2、统计所有人新增/删除代码量
git log --format='%aN' | 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 "增加的行数: %s, 删除的行数: %s, 有效的总行数: %s\n", add, subs, loc }' -; done
3、某时间段代码统计
git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --since ==2021-1-1 --until=2021-6-24 --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "增加的行数: %s, 删除的行数: %s, 有效的总行数: %s\n", add, subs, loc }' -; done
4、统计整个项目代码量
git log --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "增加的行数 lines: %s, 删除的行数 lines: %s, 有效的总行数 lines: %s\n", add, subs, loc }' -
4、统计某时间所有人整个项目代码量
git log --since='2021-01-01' --until='2021-06-24' --pretty=tformat: --numstat | awk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "增加的行数:%s 删除的行数:%s 有效的总行数: %s\n",add,subs,loc }'