如何获取git中几个项目的任何分支中特定用户的提交列表?

Luk*_*kal 1 git

我在几个git项目的多个分支中工作.我希望在所有这些项目和分支中获取特定日期的提交列表(用于时间表目的).

虽然我可以为此目的编写实用程序脚本,但我不想重新发明轮子.有没有一种简单的方法可以使用现有的基于unix的工具或一些git power-user配方?

ver*_*nzt 8

对于单个回购:

git log --all --after="<date> 00:00" --before="<date> 23:59" --author="<author>"
Run Code Online (Sandbox Code Playgroud)

<date>可以采用任何通用格式. <author>区分大小写,并检查电子邮件地址.

注意:

这将查看提交者日期(此提交应用于此存储库/分支的时间),而不是作者日期(此内容首次提交的时间).如果你有精心挑选和/或采摘的话,这一点非常重要.作者日期似乎没有相同的功能.

编辑:

要获取一组存储库的此日志,您可以运行:

for dir in repo1 repo2 ... repo_n; do
    git --no-pager --git-dir="$dir/.git" log --all \
        --after="<date> 00:00" \
        --before="<date> 23:59" \
        --author="<author>"
      && echo  # to add a blank line between logs
done
Run Code Online (Sandbox Code Playgroud)