我在几个git项目的多个分支中工作.我希望在所有这些项目和分支中获取特定日期的提交列表(用于时间表目的).
虽然我可以为此目的编写实用程序脚本,但我不想重新发明轮子.有没有一种简单的方法可以使用现有的基于unix的工具或一些git power-user配方?
对于单个回购:
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)