Git:显示给定工作日的所有提交

时间:2013-03-07 23:14:16

标签: git git-log

我能看到周日所有提交的内容吗?任何和所有星期天,都要清楚。

4 个答案:

答案 0 :(得分:3)

这样的东西
git log --pretty='format:%h %cd' |grep Sun

答案 1 :(得分:3)

根据jingx的回答,以下内容将为您提供周日所有提交的日志。

git log --pretty='format:%h %cd' | grep 'Sun' |  awk '{print $1}' | while read rev; do
    git show $rev | head -6
done

<强>解释

git log --pretty='format:%h %cd'给出了所有提交及其SHA和提交日期的缩短日志。这些日期也包含星期几。

grep 'Sun'过滤掉该日志的所有行,其中包含“Sun”,即周日所有提交。

awk '{print $1}'提取每行的第一个单词,即每个提交的SHA值。

while read rev循环遍历从前一个awk中提取的每个SHA值。在每次迭代时,SHA值将存储在rev变量中。

git show $rev显示带有SHA $rev的提交日志。

head -6提取该日志的前6行。

答案 2 :(得分:0)

您可以尝试使用:

--since and --until

git log命令的密钥。

答案 3 :(得分:0)

jingx 的回答是正确的,赞成!

我只是想提一下,在某些时候我也希望检索相同的特异性,就像所有提交的所有提交一样:

  • -9 GMT小时
  • 33rd
  • on Fri 13th
  • on 1337个文件
  • 777 影响insertions - deletions

...并且发现git log界面有点缺乏。但数据就在那里!

因此我创建了https://github.com/dreamyguy/gitlogg,它将任意数量的存储库的提交解析为一个方便清理的JSON文件。享受!