Как сделать Git log показать все сегодняшние коммиты?

Я хочу видеть все сделанные мной коммиты, используя git log. Я придумал git log --after="yesterday"
Однако для меня это кажется немного неудобным, есть ли более простая команда для достижения такого же эффекта?

Ответ 1

Изменить: так как это принятый ответ, я не могу удалить его, поэтому я отправляю здесь ответ @Simon:

git log --since="6am"

И, конечно же, вы можете настроить время на то, что вам нужно "утром":)

Ответ 2

Возможно, лучше всего использовать

git log --since="6am"

Вы можете настроить время для вашего удобства;)

Ответ 3

Вы можете создать псевдоним, чтобы сократить эту команду

git config --global alias.today 'log --since=7am'

а затем выполните:

git today

Ответ 4

Чтобы получить фиксацию от всех сегодняшнего дня...

git log --since=midnight

Ответ 5

Btw, это также работает:
git log --since=am

Ответ 6

Уже есть несколько полезных правильных ответов (например, git log --since="6am"), но странно, что в документации отсутствуют специальные даты Git (по крайней мере, googling "вчера" "полдень" : git -scm.com не возвращает результатов).

Есть способы узнать, что доступно, например ответы на Спецификация для синтаксиса Git дат, особенно полезны. В одном Райан О'Хара указывает, что

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 задает значение по умолчанию для журнала команды --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 показывает дату во внутреннем формате raw Git format %s %z.

--date=default показывает временные метки в исходном часовом поясе (коммиттеры или авторы).

Мой любимый ответ: от me_and, который направляет нас на дату Git. c class. Сканируйте это, и вы найдете этот код (на момент написания он находится в строке 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);
}