列出两个日期之间对 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 提交的主要内容,如果未能解决你的问题,请参考以下文章

git:合并两个分支:啥方向?

如何围绕失败的合并分叉两个git分支

git 分支

git 强制推送到master

git常用命令问题整理

Git分支管理