Я хочу мати можливість побачити всі зобов’язання, які я зробив сьогодні, використовуючи git log
. Я придумав git log --after="yesterday"
Однак це здається мені трохи незручним, чи існує простіша команда для досягнення того ж ефекту?
Я хочу мати можливість побачити всі зобов’язання, які я зробив сьогодні, використовуючи git log
. Я придумав git log --after="yesterday"
Однак це здається мені трохи незручним, чи існує простіша команда для досягнення того ж ефекту?
Відповіді:
Редагувати: Оскільки це прийнята відповідь, я не можу її видалити, тому розміщую тут @ відповідь Саймона:
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 дат . В одному Райан О'Хара вказує на це
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
опції команди log .
--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 , який направляє нас до мерзотник класу 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
функцію, я не думаю, що вони читали Руперта Брука :
static void date_tea(struct tm *tm, struct tm *now, int *num)
{
date_time(tm, now, 17);
}
git log --after="yesterday"
здається, найближче до правильного, але в підсумку включає те, що сталося вчора разом із тим, що сталося після вчора.