列出两个日期之间主分支的git提交记录。

62

我如何获取2014年1月1日至2014年6月30日期间提交到主分支的所有git提交记录列表?

我知道git log命令将大致给出以下格式(对于所有提交都会重复显示):

commit <hash>
author: <author name>
date: <date>
<comment>

但是如何将其限制在所选日期和每个提交一行的格式中?

<hash> <author> <date>
<hash> <author> <date>

1
请参见 https://dev59.com/vGIj5IYBdhLWcg3wsnCn 和 https://dev59.com/b3M_5IYBdhLWcg3wSBEU#1441062。 - VonC
4个回答

92
$ git log --since "DEC 1 2014" --until "DEC 5 2014" --pretty=format:"%h %an %ad"

这将给出你想要的格式,用于2014年12月1日至12月5日之间提交的内容,你可以根据需要更改日期。

如果您希望更改格式,您可以在此处阅读有关选项的信息


在结尾添加以下内容以将输出写入文件:> output - emrcftci

26

感谢您的参与,因为您添加了分支并使用了首选日期格式,所以您获得了1个点。 - Aksel Willgert
这很完美,因为我的脚本已经使用了这个日期格式。 - Chef Pharaoh

6
你尝试过吗?
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日志的详细信息,可以参考这个链接


5

好的,这应该能解决问题:

git log --oneline --since="1/1/2014" --until="30/6/2014"


2
这不是所请求的格式。只需哈希和提交消息。 - Tim
1
@TimCastelijns 是的,我知道这个问题,但在我修复它之前,你已经发布了你的答案,而我太忙于点赞你的答案,没有时间去修复我的 ;) - 4rlekin
@4rlekin 请将 since 更改为 --since - Christian

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