2011-10-28 23 views

回答

35

我相信没有这种方法只有知道日期才能获得差异。

到今天为止,你可以做到以下几点:

git log --since "OCT 4 2011" --until "OCT 11 2011" --pretty=format:"%H" 

然后第一个和最后版本之间git diff。如果版本列表太长,请使用上述git log ...| head -1| tail -1获取第一个和最后一个修订版。

注意上面的git的日志将返回修订给定日期之间究竟,即修改为10月5日,10月6日,...,华侨城10

+0

可以_sort_与差异直接去做,但不是那么可靠,使用'@ {日期}'符号,例如'git的差异@ {} DATE1 @ {DATE2}'。 问题在于'@ {date}'构造不会查看提交历史记录以将日期转换为提交ID,而是使用_revlog_。结果是,如果你经常拉_really,你的revlog将有足够的细节信息,以上可以做你想做的事情,但如果你不想做,结果将是不准确的...... – snogglethorpe

+0

我不得不添加等号使其工作: '''git log --since =“FEB 1 2014”--until =“FEB 30 2014”''' – bonyiii

4

这是可能的,并得到了用户/提交者标准:

git log --after="2015-10-14" --before="2015-10-21" --grep="MB[FT][0-9-]*" --author="John\|Mary" 

这将那些日期之间的匹配任何

  • 作者匹配的名称JohnMary
  • 其中提交信息包括(例如,以MBTMBF的形式加上可包括-字符的数字代码的Jira票号。
+0

这显示日志,但不是差异。 – pingu

0
git log --since "MAY 1 2017" --until "MAY 31 2017" -p --author="Jack" > diffJackMay.patch