版本发布的时候需要统计代码行数 一行命令:
代码语言:javascript复制git log --format='%aN' | sort -u | while read name; do echo -en "$namet"; git log --author="$name" --pretty=tformat: --since ==2019-02-08 --until=2019-03-08 --numstat | awk '{ add = $1; subs = $2; loc = $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %sn", add, subs, loc }' -; done
使用方法:在需要统计的git项目中,打开git命令行窗口(Git Bash),将上面的起止日期修改为具体起止时间,复制到git的命令行窗口即可。
执行后效果如下
代码语言:javascript复制$ git log --format='%aN' | sort -u | while read name; do echo -en "$namet"; git log --author="$name" --pretty=tformat: --since ==2020-02-03 --until=2020-03-27 --numstat | awk '{ add = $1; subs = $2; loc = $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %sn", add, subs, loc }' -; done
zhangsan added lines: 1576, removed lines: 1005, total lines: 571
lisi added lines: , removed lines: , total lines:
wangwu added lines: 4232, removed lines: 667, total lines: 3565
zhaoliu added lines: 5539, removed lines: 1323, total lines: 4216
chenqi added lines: , removed lines: , total lines:
计算added lines即可,需要谁的拿谁的就行。
注:added lines 代表增加行数,removed lines代表移除行数,total lines代表总行数,但总行数的计算规则是增加的行数减去移除的行数,比如你增加了一行修改了一行,增加行数是2,移除行数是1,但其实代码量是应该将修改行数也计入的,所以计算增加行数也就是added lines即可
小知识:
绩不如人:绩效不如他人。 据说程序员按代码行数统计工作量 快看看是不是你的代码被remove掉了