Я хочу видеть все сделанные мной коммиты, используя git log
. Я придумал git log --after="yesterday"
Однако для меня это кажется немного неудобным, есть ли более простая команда для достижения такого же эффекта?
Как сделать Git log показать все сегодняшние коммиты?
Ответ 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);
}