如何从git获取指定用户在两个日期之间的差异?
如何从git获取指定用户在两个日期之间的如何从git获取指定用户在两个日期之间的差异?,git,date,diff,Git,Date,Diff,如何从git获取指定用户在两个日期之间的diff?或者,如何使用gitwhatchanged命令列出指定用户的提交 有没有无脚本的方法(内置git命令)?我相信没有这样的方法来获得差异,只知道日期 从今天起,您可以执行以下操作: git log --since "OCT 4 2011" --until "OCT 11 2011" --pretty=format:"%H" 然后是第一次和最后一次修订之间的git diff。如果修订列表太长,请使用上面的git log…和|head-1和|tail
diff
?或者,如何使用gitwhatchanged
命令列出指定用户的提交
有没有无脚本的方法(内置git命令)?我相信没有这样的方法来获得差异,只知道日期 从今天起,您可以执行以下操作:
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月10日的修订版。这是可能的,并且符合用户/提交者标准:
git log --after="2015-10-14" --before="2015-10-21" --grep="MB[FT][0-9-]*" --author="John\|Mary"
这将匹配任何东西
- 在那两天之间
- 作者将姓名与约翰或玛丽匹配
- 其中,提交消息包括(例如,Jira票证号码,形式为)
或MBT
加上可包含MBF
字符的数字代码-
@{date}
符号(例如,git diff{date1}}{date2}
)不太可靠。问题是,@{date}
构造没有查看提交历史记录以将日期转换为提交id,而是使用revlog。结果是,如果您经常拉取,您的revlog将拥有足够细粒度的信息,上面的内容可能会满足您的需要,但如果您不这样做,结果将不准确……我必须添加等号以使其工作:git log--since=“FEB 1 2014”---until=“FEB 30 2014”
这将显示日志,但不显示差异。
git log --since "MAY 1 2017" --until "MAY 31 2017" -p --author="Jack" > diffJackMay.patch