创建git提交的每周日历

时间:2016-12-09 18:29:41

标签: git bash

我正在尝试输出本周git提交的“日历”视图。 (你能告诉它周五的时间日志吗?)。我想看到的只是我的提交,所有分支,他们的时间,提交标题,短哈希。到目前为止,我有一个循环,循环过去五天,并执行此操作:

echo ----
echo $(git log --after="$currentdate 00:00" --before="$currentdate 23:59" --author="$USR" --branches --pretty=format:"commit: %h | date: %ad | title: %s %n")

循环的输出类似于:

------
commit: <hashnum> | date: Mon | title: Contain height of logo with parent and max-height commit: <hashnum> |  date: Mon  | title: Change how the transform happens
------
commit: <hashnum> | date: Tue | title: remove transform and tweak span placement in hamburger
------
etc.

我不确定如何最好地继续下去。我的第一个想法是将每个回显的字符串保存到一个数组中,然后通过我放入格式的一些分隔符解析它们,但这似乎比它需要的更复杂。我也试过没有循环只是将git log引导到column,但这看起来不会起作用。

我是在正确的轨道上,还是有更简单的方法?

以下是我想要输出的示例:

        Mon             |           Tue            |      Wed   |    
<hash> 8:00 did a thing |   <hash> 12:15 did anothe|   <hash>   |  
<hash> 9:15 hamburg menu|   <hash> 2:30 asdf       |      etc   |

1 个答案:

答案 0 :(得分:1)

输出看起来不一样,但您可以尝试:

git log --since=7.days --author="$(git config user.name)"

这将输出与此类似的内容:

commit [hash]
Author: [user] <[email]>
Date:   Sun Dec 4 19:03:55 2016 -0800

    Did some things

commit [hash]
Author: [user] <[email]>
Date:   Fri Dec 2 18:35:33 2016 -0800

    Fixed a thing
(END)

假设您在过去7天内只做了2次提交