赞
踩
有的时候需要对 git 上的代码进行一些统计,下面是常见的统计场景:
git log --author="username" --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 }'
把 username 换成自己的用户名就可以了。
git log --since=2022-01-01 --until=2022-12-31 --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 }'
把时间切换成自己想要统计的时间段就可以了。
git log --author="username" --since=2022-01-01 --until=2022-12-31 \
--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 }'
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 "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
git log --pretty='%aN' | sort -u | wc -l
git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5
git log --oneline | wc -l
适用其他语言
find . "(" -name "*.java" ")" -print | xargs wc -l
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。