由於自己寫的一些項目都是在local 端,沒有在github上,於是想怎么去獲取我自己commit 提交多少次以及代碼改動量。
查詢了一下資料,這里記錄一下相關方法。
-
1.根據用戶名時間段統計
git log --author="username" --since=2018-01-01 --until=2019-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 }'
-
2.查看提交者排名前N位
git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5
-
3.提交數統計
git log --oneline | wc -l
-
4.根據用戶名統計
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 }'
-
5.根據時間段統計
git log --since=2020-01-01 --until=2021-02-04 --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 }'
-
6.統計每個人的增刪行數
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 ", add, subs, loc }' -; done
-
7.貢獻者統計
git log --pretty='%aN' | sort -u | wc -l