可以使用以下命令来查看几天来个文件的代码量:
git log --pretty=tformat: --numstat --since="2023-05-10" --until="2023-05-12"
其中,–since和–until参数分别指定了统计的起始日期和结束日期。这个命令会输出每个文件的添加和删除行数,您可以通过awk命令来计算总行数。
如果您想要查看某个人在这段时间内的代码量,可以使用以下命令:
git log --author="username" --pretty=tformat: --numstat --since="2023-05-10" --until="2023-05-12"
其中,username是您要统计的人的用户名。
如果只是查看当天的代码量只需要带上--since="today"
选项就行,不需要--until
选项
awk命令的结合使用
awk是一种文本和数据处理编程语言,可以用于在linux/unix下对文本和数据进行处理。awk命令逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。与sed命令不同的是,awk比较倾向于将一行分成多个“字段”然后再进行处理。
在您的问题中,您可以使用以下命令来统计代码量并结合awk对代码进行统计:
git log --pretty=tformat: --numstat --since="2023-05-10" --until="2023-05-12" | awk '{ add += $1; subs += $2; } END { printf "添加的代码行: %s, 删除的代码行: %s", add, subs }'
其中,|是管道符,用于将git log的输出传递给awk命令。awk命令中的$1表示第一个字段(即添加行数),$2表示第二个字段(即删除行数)。add、subs是自定义变量,用于存储添加行数、删除行数。END表示在处理完所有行后执行printf语句。
git log --pretty=tformat: --numstat
31 0 QTy3DApplication.cpp
25 0 QTy3DApplication.h
1 0 Resources/images.qrc
- - Resources/pictures/png/splash.jpg
5 4 main.cpp
35 0 "Deployment/\346\214\202\346\236\266\344\270\223\346\234\272/settings/MonitorParasConfig.ini"
15 0 "Deployment/\346\214\202\346\236\266\344\270\223\346\234\272/settings/ScanParasConfig.ini"
7 0 "Deployment/\346\214\202\346\236\266\344\270\223\346\234\272/settings/ScanTabConfig.ini"
19 0 "Deployment/\346\214\202\346\236\266\344\270\223\346\234\272/settings/errorNames.ini"
注意,在powershell下是没有awk命令的,这不是问题,一般开发者的电脑一般有wsl
, 如果没有也关系不大,安装了git for windows
后就自带了git-base
了,常规的GUN
命令都是有的,如果有windows terminal
(windows 11默认的终端命令行工具),在它的下面打开git bash
或wsl
既美观又好用.