如何在git log --after={somedate} --before={somedate} | wc -l
中不使用before / after而不查找特定月份的提交次数? (我也不知道这是否正确)
从Git日志输出开始,我们可以使用--since
和--until
命令行选项指定日期范围。
例如,要获得2020年4月的提交,您可以使用以下代码:
git log --since "APR 1 2020" --until "APR 31 2020"
我们可以通过对行数进行计数来获得提交的数量,但是我们必须确保每次提交仅打印一行。可以使用--pretty=oneline
git日志格式化程序:
git log --pretty=oneline
最后,我们可以通过将git log输出从stdout输出到wc
shell可执行文件来计算行数。默认情况下,此可执行文件将计算字符数,但可以使用-l
命令行选项将其配置为对行进行计数:
wc -l
我们将git log配置为打印指定日期范围内的提交,并确保每次提交仅打印一行。然后,我们将日志输入到行计数器中并获得结果:
git log --since "APR 1 2020" --until "APR 31 2020" --pretty=oneline | wc -l
您还可以输入经过--since
和--until
的月份数。
git log --since="2 month ago" --until="1 month ago" --pretty=format:'%h,%an,%ar,%s'
或使用日期格式使用这样的数字:
git log --since="2020-01-01" --until="2020-03-31" --pretty=format:'%h,%an,%ar,%s'
解释git命令中的几个选项:
- %h显示git commit-hash
- %an提交作者的名字
- << [%ar提交的创建日期
- %s
提交主题(来自提交命令的评论)