列出两个日期之间对 master 分支的 git 提交
Posted
技术标签:
【中文标题】列出两个日期之间对 master 分支的 git 提交【英文标题】:List git commits to master branch between two dates 【发布时间】:2015-02-03 11:18:04 【问题描述】:如何获取 2014 年 1 月 1 日至 2014 年 6 月 30 日期间对主分支完成的所有 git 提交的列表?
我知道git log
会给我大致的这种格式(对所有提交重复):
commit <hash>
author: <author name>
date: <date>
<comment>
但如何将其限制为选定日期和每个提交格式一行?
<hash> <author> <date>
<hash> <author> <date>
【问题讨论】:
另见***.com/q/19987099/6309和***.com/a/1441062/6309 【参考方案1】:好吧,这应该可以解决问题:
git log --oneline --since="1/1/2014" --until="30/6/2014"
【讨论】:
不过,这不是所要求的格式。只需散列并提交消息 @TimCastelijns 是的,我知道这一点,但在我设法修复它之前,你发布了你的答案,而我正忙着投票修复我的问题;) @4rlekin 请将since
更改为--since
。【参考方案2】:
$ git log --since "DEC 1 2014" --until "DEC 5 2014" --pretty=format:"%h %an %ad"
这将为 2014 年 12 月 1 日至 2014 年 12 月 5 日之间的提交提供您想要的格式,您可以随意更改日期
如果你想改变格式,你可以read about the options here
【讨论】:
【参考方案3】:$ git log master --pretty="%h %an %ad" --since=2014-01-01 --until=2014-06-30
这里是所有http://git-scm.com/docs/git-log
【讨论】:
泰。一点,因为您包括分支和首选日期格式 这很完美,因为我的脚本已经使用了这种日期格式【参考方案4】:你试过了吗
git whatchanged --since="2 year ago" --until="1 year ago" [--author="NAME_OF_THE_AUTHOR"]
甚至可以使用git log
来获得此结果。 git log
中提供了一些高级选项
git log --after="2014-7-1" --before="2014-7-4"
关于高级 git log 的更多细节可以参考这个link
【讨论】:
以上是关于列出两个日期之间对 master 分支的 git 提交的主要内容,如果未能解决你的问题,请参考以下文章