在某个提交日期之前的Git日志

26

我正在尝试从AOSP(Android开源项目)获取某个日期之前的所有提交记录。
我发现可以通过git命令来实现:
git log --before="2011-12-01"

但是它只显示了作者日期(补丁或更改上传的日期,而不是合并/更改的日期)。

我还发现,我可以通过下一个git命令获取我需要的日期:
git log --pretty=format:"%cd"
它将显示提交日期

那么问题是:
如何在某个提交日期之前获取git日志?


1
你有阅读过Git log的手册页面并尝试了--pretty=short吗? - RedX
@RedX 是的,但我没有看到以下两个命令之间的区别: git log --before="2011-12-01" --pretty=format:"%ad" git log --before="2011-12-01" --pretty=format:"%cd" - Laser
那么这个命令:git log --before="2011-12-01" --pretty=short 怎么样? - RedX
1个回答

33

将这两个简单地结合起来:

git log --before="2011-12-01" --pretty=format:"%cd"
如在"Git log: filter by commit's author date"所示,git log按提交日期进行过滤,而pretty=format仅显示这些内容。
来自手册页面:

使用更多选项通常可以进一步限制输出(例如,--since=<date1> 限制到比<date1>更新的提交)。


谢谢您的回答,但我没有看到以下命令之间的区别: @RedX 是的,但我没有看到以下命令之间的区别: git log --before="2011-12-01" --pretty=format:"%ad" git log --before="2011-12-01" --pretty=format:"%cd"git log --before="2011-12-01" 但我希望它应该存在。 - Laser
@Pepelac 可能是因为提交和作者日期相同(或非常接近)。 - VonC
我希望能看到一个例子,类似于这个链接:http://pastebin.com/33pU7Ejp %ad 不会影响 git log - Laser
2
有趣的是,--before 的工作方式类似于被称为 --before-or-on 的东西。 - Panzercrisis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接