或者只是发生在两个日期之间的所有提交?在SVN中,您可以这样做
svn diff -r{date}:{date}
去做吧!我似乎找不到与此相当的Git。
具体地说,我正在考虑编写一个脚本,以便每天发送电子邮件,其中包含当天提交的所有代码以及提交人。
发布于 2009-07-21 20:40:54
发布于 2009-07-21 20:58:35
"date“在git中是一个有点松散的概念。提交将有一个作者日期,这可能是在某人实际将提交拉入/提交到其存储库之前的一段时间,而且提交可能会被重新定位并更新为位于明显较新的提交之上。
提交还有一个提交日期,如果以任何方式改变提交基数或修改提交,提交日期都会更新。这些提交更可能是按某种时间顺序进行的,但您仍然受制于提交者在其计算机上设置了正确的时间,即使如此,未修改的提交在合并到中央存储库的主分支之前,可以无限期地位于远程存储库的功能分支上。
对于您的目的来说,最有用的可能是特定存储库上的reflog日期。如果您启用了每个分支的reflog(请参阅git config core.logAllRefUpdates
),那么您可以使用ref@{date}
语法来引用分支在特定时间的位置。
例如。
git log -p master@{2009-07-01}..master@{now}
您还可以使用‘模糊’描述,如:
git log -p "master@{1 month ago}..master@{yesterday}"
这些命令将显示在给定的存储库分支中“出现”的所有提交,而不管它们根据其作者和提交日期实际有多“旧”。
请注意,每个分支的reflog是特定于存储库的,所以如果您在克隆上运行log命令,并且您没有拉取(比方说)一个月,然后一次拉取上个月的所有更改,那么上个月的所有更改都将出现在一个@{1 hour ago}..@{now}
范围内。如果您能够在人们推送到的“中心”repostory上运行log命令,那么它可能会执行您想要的操作。
发布于 2013-11-24 12:37:51
git diff --stat @{2013-11-01}..@{2013-11-30}
或
git diff --stat @{2.weeks.ago}..@{last.week}
https://stackoverflow.com/questions/1161609
复制相似问题