git代码统计:
代码总行数:
git log --author="xyy" --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 }' -
分析一下:直接针对特定作者 “xyy” 进行提交记录筛选和统计。
每个人增删行数:
git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name\t";gitlog−−author="name\t"; git log --author="name\t";gitlog−−author="xyy" --pretty=tformat: --numstat | awk '{ add += $1; subs += $1;subs+=1; subs += 1;subs+=2; loc += $1 - $1−1 - 1−2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
分析一下:先获取所有提交的作者列表,然后针对每个作者进行处理,最后又针对特定作者 “xyy” 进行了与第一段指令类似但稍有不同的处理。
例如,我的就是
软协:
xyy added lines: 3365, removed lines: 1113, total lines: 2252