如何使Git日志显示今天的所有提交?

age*_*217 75 git git-log

我希望能够看到我今天使用的所有提交git log.我提出了git log --after="yesterday"
但是,这对我来说似乎有点尴尬,是否有更简单的命令来达到同样的效果?

aby*_*byx 85

编辑:由于这是接受的答案,我无法删除它,所以我在这里张贴@西蒙的答案:

git log --since="6am"
Run Code Online (Sandbox Code Playgroud)

当然,您可以将时间调整到适合"早晨"的任何时间:)

  • 这似乎不适用于git 1.5.6.5,FWIW.我知道,旧版本和所有版本,但我认为这可能对某人有所帮助.`git log --after ="昨天"似乎最接近正确,但最终包括昨天发生的事情以及*昨天之后发生的事情. (8认同)
  • 对我来说:`git log --since ="昨天"`效果很好.看起来不错`--pretty ="oneline"`太......(git version 1.7.10) (3认同)
  • 另外,对于那些不喜欢 AM/PM 的人来说,像“06:00”这样的时间也有效 (2认同)

Sim*_*mon 64

也许最好是使用

git log --since="6am"
Run Code Online (Sandbox Code Playgroud)

您可以根据自己的方便调整时间;)


Dar*_*usz 19

您可以创建别名以缩短此命令

git config --global alias.today 'log --since=7am'
Run Code Online (Sandbox Code Playgroud)

然后执行:

git today
Run Code Online (Sandbox Code Playgroud)


yoy*_*oyo 16

要获得今天所有人的承诺......

git log --since=midnight
Run Code Online (Sandbox Code Playgroud)


dum*_*dad 6

已经有几个有用的正确答案(例如git log --since="6am"),但奇怪的是文档中缺少 Git 的特殊日期(至少谷歌搜索“昨天”“中午”站点:git-scm.com没有返回任何结果)。

有很多方法可以找出可用的内容,例如git 日期语法规范的答案特别有用。瑞恩·奥哈拉 (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.dateconfig 变量为 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 }
};
Run Code Online (Sandbox Code Playgroud)

我肯定在使用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);
}
Run Code Online (Sandbox Code Playgroud)