我希望能够看到我今天使用的所有提交git log
。我git log --after="yesterday"
想到了,但是对我来说似乎有点尴尬,有没有更简单的命令可以达到相同的效果?
我希望能够看到我今天使用的所有提交git log
。我git log --after="yesterday"
想到了,但是对我来说似乎有点尴尬,有没有更简单的命令可以达到相同的效果?
Answers:
编辑:由于这是我接受的答案,所以我不能删除它,所以我在这里发布@Simon的答案:
git log --since="6am"
当然,您可以将时间调整为足够“适合您”的时间:)
git log --since="yesterday"
效果很好。看起来也不错--pretty="oneline"
...(git版本1.7.10)
"06:00"
工作的时间,适合那些不喜欢AM / PM的时间
已经有几个有用的正确答案(例如git log --since="6am"
),但是文档中缺少Git的特殊日期(至少在谷歌搜索“昨天”“中午”站点:git-scm.com上没有返回结果是奇怪的)。
有多种方法可以找到可用的内容,例如git date语法规范的答案特别有用。赖安·奥哈拉(Ryan O'Hara)在一篇文章中指出
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)
仅对以人类可读格式显示的日期生效,例如使用时
--pretty
。log.date
config变量为log命令的--date
选项设置默认值。
--date=relative
显示相对于当前时间的日期,例如“ 2小时前”。
--date=local
显示用户本地时区中的时间戳。
--date=iso
(或--date=iso8601
)以ISO 8601格式显示时间戳。
--date=rfc
(或--date=rfc2822
)以RFC 2822格式显示时间戳,通常在电子邮件中找到。
--date=short
仅以YYYY-MM-DD
格式显示日期,而不显示时间。
--date=raw
以内部原始git格式显示日期%s %z
。
--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);
}
git log --after="yesterday"
似乎最接近正确,但最终包括昨天发生的事情以及昨天之后发生的事情。