实际测试发现,当前我们修改了一行代码提交后,通过git log 统计到add +1 和 remove +1。 修改一行代码,相当于删除一行再添加一行,代码总数不变。因此我们可以得到以下推理:
ADD = new + edit
REMOVE = del+ edit
因此,对于Git而言,新增+修改就等于 Add 代码行数,最终实际增加的代码行数等于add - remove。
查询指定人指定时间段的代码量
git log --all --author=‘XXX’ --since=2016-08-17 --until=2016-08-20 --pretty=tformat: --numstat | gawk ‘{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf “added lines: %s removed lines : %s total lines: %s\n”,add,subs,loc }’ -
查询项目的总行数
git log --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 }’