我已经查看了来自git-scm.com和gitref.org的相关文档,但似乎无法理解这个问题。
假设我想获取2013年11月12日星期二的所有提交记录。以现有repo为例,我知道确实有当天的提交记录,以及前一天和后一天的提交记录。
使用2013-11-11
和2013-11-12
以下所有命令都会给出11月11日和12日的提交记录:
git log --after="2013-11-11" --until="2013-11-12"
git log --since="2013-11-11" --until="2013-11-12"
git log --after="2013-11-11" --before="2013-11-12"
git log --since="2013-11-11" --before="2013-11-12"
仅使用2013-11-12
以下所有命令都不会给出提交记录:
git log --since="2013-11-12" --until="2013-11-12"
git log --since="2013-11-12" --before="2013-11-12"
git log --after="2013-11-12" --until="2013-11-12"
git log --after="2013-11-12" --before="2013-11-12"
使用2013-11-12
和2013-11-13
正如我从上面的 2013-11-11
和 2013-11-12
的结果中所预期的那样,以下所有内容都会给我展示 11月12日和13日的结果:
git log --since="2013-11-12" --before="2013-11-13"
git log --after="2013-11-12" --before="2013-11-13"
git log --since="2013-11-12" --until="2013-11-13"
git log --after="2013-11-12" --before="2013-11-13"
...等等。我感觉我已经尝试了所有可能的 since
、after
、before
和 until
的组合,但仍然找不到答案。而且我也不明白这些选项是包含还是排除的,因为如果两个日期不同,则它们似乎是包含的,但如果它们在同一天,则是排除的。我错过了什么吗?我做错了什么?