我已经查看了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,但仍无法找到答案,我也不知道这些选项是否包含或排除,因为他们似乎如果这两个日期都不同的是包容性的,但如果他们在同一天,他们是独家的.我错过了什么/我做错了什么?!
3ch*_*eel 202
答案是指定时间,例如 git log --after="2013-11-12 00:00" --before="2013-11-12 23:59"
Koh*_*ert 27
我通常检查我的git日志,看看我在特定日期工作的情况,并根据它更新我的时间表,但是输入ISO格式的完整日期是很麻烦所以我就这样做
git log --after=jun9 --before=jun10
Run Code Online (Sandbox Code Playgroud)
我添加--author只打印我的提交
git log --since=jun9 --until=jun10 --author=Robert
Run Code Online (Sandbox Code Playgroud)
这打印了6月9日发生的提交(在这种情况下2016年,而不是2015年或2014年等).
该--since/--after和--until/--before参数也可以采取这样的东西3 days ago,yesterday等等.
Wal*_*rée 12
接受的答案(我赞成)没有错,但是......我们来这里是为了科学!
下面的输出可以使用pretty=format:<string> 占位符进行扩展/自定义:
git log --pretty='format:%H %an %ae %ai' | grep 2013-11-12
Run Code Online (Sandbox Code Playgroud)
由于用户输入了相同的字符串,因此不会100%免于错误.但可接受取决于使用哪个占位符.例如,上面的代码段不会失败.
有人可能会以及全解析只是git log向JSON和消费/它的数据操纵一个人的心脏的内容.检查https://github.com/dreamyguy/gitlogg,永远不要回头!
免责声明:这是我的一个项目.
我为这个特定的目的做了一个别名:
commitsAtDate = "!f() { git log --pretty='format:%C(yellow)%h %G? %ad%Cred%d %Creset%s%C(cyan) [%cn]' --decorate --after=\"$1 0:00\" --before=\"$1 23:59\" --author \"`git config user.name`\"; }; f"
Run Code Online (Sandbox Code Playgroud)
用法:
git commitsAtDate 2017-08-18
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56228 次 |
| 最近记录: |