Git统计

1
git log | grep -e 'commit [a-zA-Z0-9]*' | wc -l

统计Git仓库最近30天代码提交行数

1
2
git log --since="30 days ago" --pretty=tformat: --numstat | \
awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "Added lines: %s\nRemoved lines: %s\nTotal lines: %s\n", add, subs, loc }'

按作者统计Git仓库最近30天代码提交行数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
git log --since="30 days ago" --format='%ae' --numstat | \
awk '
BEGIN { delete added; delete deleted }
# 匹配作者邮箱(标准邮箱格式)
/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/ {
author = $0; next
}
# 匹配代码行数(数字开头,且当前作者有效)
/^[0-9]/ {
if (author) {
added[author] += $1;
deleted[author] += $2
}
next
}
# 忽略二进制文件行("- -" 开头的行)
/^- -/ { next }

END {
for (a in added) {
printf "Author Email: %s\nAdded: +%d\nDeleted: -%d\nNet: %d\n\n",
a, added[a], deleted[a], added[a] - deleted[a];
}
}
'

Git统计
https://itxiaopang.github.io/p/83749f4147bc4cdd910fc7a440467abe/
作者
挨踢小胖
发布于
2021年9月11日
许可协议