我有一个名为development的分支,现在我想知道每天发生了多少次提交。我试过这个命令,但它正在计算分支的所有提交
development
git shortlog -s -n
wswtfjt71#
简短而甜蜜:
git log --date=short --pretty=format:%ad | sort | uniq -c
输出示例:说明:
git log
--date=short
date-format
YYYY-MM-DD
sort
--pretty=format:%ad
git
a
d
cd
c
cherry-pick
rebase
uniq
| sort
| uniq -c
如果你想把它作为制表符分隔的日期,然后计数,输入到图形引擎或类似的东西,然后把上面的结果管道到
awk 'BEGIN{OFS = "\t"} {print $2, $1}'
nlejzf6q2#
试试看:
$ git rev-list --count --since=<start-date> --before=<end-date> <ref>
例如,要获取当前分支中昨天完成的提交数:
$ git rev-list --count --since=yesterday --before=today HEAD
也接受绝对日期:
$ git rev-list --count --since=2016-03-02 --before=2016-03-03 HEAD
zujrkrfu3#
我试过:git日志|grep日期|awk '{打印“:“$4”“$3”“$6}”|唯一-c这很有效。你会得到类似这样的结果:
5 : 3 Mar 2016 4 : 2 Mar 2016 8 : 1 Mar 2016 [...]
我找到了命令here。
amrnrhlw4#
在Git 2.39(Q4 2022)中,你有了另一个选择,因为“git shortlog“(man)学会了按格式字符串分组。请参见Taylor Blau ( ttaylorr )的commit 7b11234、commit 9c10d4f、commit 10538e2、commit 3dc95e0、commit b017d3d、commit 0b293df(2022年10月24日)。2022年10月24日,Jeff King ( peff )发布。(2022年10月30日,由Taylor Blau -- ttaylorr --在commit c112d8d中合并)第1331章:支持任意提交格式--group s签署人:泰勒·布劳除了基于提交者、作者或一个或多个指定报尾中的身份生成短日志之外,基于任意提交格式生成短日志也是有用的。例如,这可以用来生成提交活动随时间的分布,如下所示:
git shortlog
ttaylorr
peff
--group
$ git shortlog --group='%cd' --date='format:%Y-%m' -s v2.37.0.. 117 2022-06 274 2022-07 324 2022-08 263 2022-09 7 2022-10
可以使用任意提交格式。实际上,git shortlog(man)的默认行为(按提交作者计数)可以如下模拟:
$ git shortlog --group='%aN <%aE>' ...
和未来的修补程序将使默认行为(以及--committer和--group=trailer:<trailer>)成为更灵活的--group选项的特例。另请注意,SHORTLOG_GROUP_FORMAT枚举值仅用于指定在stdin模式下使用--group:<format>以声明组合无效。git shortlog现在在其手册页中包括:git log)。与--group=format:<format>一起使用时很有用。git shortlog现在在其手册页中包括:
--committer
--group=trailer:<trailer>
SHORTLOG_GROUP_FORMAT
--group:<format>
--group=format:<format>
format:<format>
--format
4条答案
按热度按时间wswtfjt71#
简短而甜蜜:
输出示例:
说明:
git log
是一个先决条件。--date=short
将我们的date-format
设置为YYYY-MM-DD
,其中(A)是我们所需要的全部,(B)随后将按字母顺序sort
设置为时间顺序。--pretty=format:%ad
告诉git
我们只想得到每个提交的a
用户或d
在我们首选的date-format
中的日期。如果你愿意,你可以用cd
代替c
提交d
日期,但是一旦你使用cherry-pick
,rebase
等,这就变得没有什么用处了。uniq
需要使用| sort
,因为它只检查相邻的重复项。当然,我们几乎肯定希望日期排在最后。| uniq -c
计算每个YYYY-MM-DD
的相邻重复项的数量,并将该数量添加到日期之前。如果你想把它作为制表符分隔的日期,然后计数,输入到图形引擎或类似的东西,然后把上面的结果管道到
nlejzf6q2#
试试看:
例如,要获取当前分支中昨天完成的提交数:
也接受绝对日期:
zujrkrfu3#
我试过:
git日志|grep日期|awk '{打印“:“$4”“$3”“$6}”|唯一-c
这很有效。你会得到类似这样的结果:
我找到了命令here。
amrnrhlw4#
在Git 2.39(Q4 2022)中,你有了另一个选择,因为“
git shortlog
“(man)学会了按格式字符串分组。请参见Taylor Blau (
ttaylorr
)的commit 7b11234、commit 9c10d4f、commit 10538e2、commit 3dc95e0、commit b017d3d、commit 0b293df(2022年10月24日)。2022年10月24日,Jeff King (
peff
)发布。(2022年10月30日,由Taylor Blau --
ttaylorr
--在commit c112d8d中合并)第1331章:支持任意提交格式
--group
s签署人:泰勒·布劳
除了基于提交者、作者或一个或多个指定报尾中的身份生成短日志之外,基于任意提交格式生成短日志也是有用的。
例如,这可以用来生成提交活动随时间的分布,如下所示:
可以使用任意提交格式。
实际上,
git shortlog
(man)的默认行为(按提交作者计数)可以如下模拟:和未来的修补程序将使默认行为(以及
--committer
和--group=trailer:<trailer>
)成为更灵活的--group
选项的特例。另请注意,
SHORTLOG_GROUP_FORMAT
枚举值仅用于指定在stdin模式下使用--group:<format>
以声明组合无效。git shortlog
现在在其手册页中包括:git log
)。与--group=format:<format>
一起使用时很有用。git shortlog
现在在其手册页中包括:format:<format>
,任何被'git log'的--format
选项接受的字符串。(请参阅git log
的“漂亮的格式”部分。)