如何使Git日志显示今天的所有提交?
我希望能够看到我今天使用git log
所做的所有提交。 我想出了git log --after="yesterday"
但是,这对我来说似乎有些尴尬,是否有一个更简单的命令来达到同样的效果呢?
编辑:由于这是被接受的答案,我不能删除它,所以我张贴在这里@西蒙的答案:
git log --since="6am"
当然,你可以调整时间,以任何“早上”足够你:)
也许最好的是使用
git log --since="6am"
您可以根据您的方便调整时间;)
您可以创build别名来缩短此命令
git config --global alias.today 'log --since=7am'
然后执行:
git today
从今天开始提交…
git log --since=midnight
顺便说一句,这也适用:
git log --since=am
已经有几个有用的正确答案(例如, git log --since="6am"
),但奇怪的是Git的特殊date从文档中遗漏了(至lessgoogle的“昨天”“中午”网站:git-scm.com返回没有结果)。
有办法找出有什么可用的,例如规范的gitdate语法的答案是特别有用的。 在一个瑞安·奥哈拉指出
it seems to accept all formats that it can output, as described in the documentation for the --date option:
--date=(relative|local|default|iso|rfc|short|raw)
只有以可读格式显示的date才能生效,例如使用
--pretty
。log.date
configvariables为log命令的--date
选项设置一个默认值。
--date=relative
显示相对于当前时间的date,例如“2小时前”。
--date=local
在用户本地时区显示时间戳。
--date=iso
(或--date=iso8601
)以ISO 8601格式显示时间戳。
--date=rfc
(或--date=rfc2822
)以RFC 2822格式显示时间戳,通常在电子邮件中find。
--date=short
仅显示date,不显示时间,采用YYYY-MM-DD
格式。
--date=raw
以内部raw git格式%s %z
格式显示date。
--date=default
在原始时区(提交者或作者的)中显示时间戳。
我最喜欢的答案是从me_and引导我们到git date.c类 。 扫描下来,你会发现这个代码(写在925行):
static const struct special { const char *name; void (*fn)(struct tm *, struct tm *, int *); } special[] = { { "yesterday", date_yesterday }, { "noon", date_noon }, { "midnight", date_midnight }, { "tea", date_tea }, { "PM", date_pm }, { "AM", date_am }, { "never", date_never }, { "now", date_now }, { NULL } };
我绝对使用git log --before=tea
,虽然看着date_tea
函数我不认为他们已经阅读过Rupert Brooke :
static void date_tea(struct tm *tm, struct tm *now, int *num) { date_time(tm, now, 17); }