Ответ 1
Git 2. 6+ (3 квартал 2015 г.) добавить новую опцию.
См. Коммит e4f031e (30 июня 2015 г.) и коммит aa1462c, коммит a5481a6, коммит b7c1e11 (25 июня 2015 г.) Джеффом Кингом (peff
).
(Объединено Junio C Hamano - gitster
- в коммите d939af1, 3 августа 2015 г.)
ввести "форматировать" режим даты
Это передает формат непосредственно в
strftime
.
Кроме того, будучи немного более гибким, главное преимущество заключается в том, что ваша системаstrftime
может знать больше о вашей локали предпочтительный формат (например, как пишется дни недели).
--date=format:...
формат...
в вашу системуstrftime
.
Используйте--date=format:%c
чтобы отобразить дату в предпочтительном для вашей системы формате.
См. Руководство поstrftime
для полного списка заполнителей формата.
Давиде Кавестро предлагает в комментариях пример:
git commit -m "Test" --date=format:relative:5.hours.ago
Оригинальный ответ (середина 2014 г.)
Опция --date
(введена в коммите 02b47cd в декабре 2009 года для git1.7.0) использует тот же формат, что и для GIT_AUTHOR_DATE
, с форматами даты, протестированными в коммите 96b2d4f:
Там вы можете увидеть различные принятые форматы:
- rfc2822:
Mon, 3 Jul 2006 17:18:43 +0200
- iso8601:
2006-07-03 17:18:43 +0200
- локальный:
Mon Jul 3 15:18:43 2006
- коротко:
2006-07-03
(не в 1.9.1, работает в 2.3.0) -
родственник: см. commit 34dc6e7:
5.seconds.ago, 2.years.3.months.ago, '6am yesterday'
-
raw: смотрите commit 7dff9b3 (git 1.6.2, март 2009)
внутренний формат raw git - секунды с начала эпохи плюс часовой пояс
(иначе говоря: формат 'date +"%s %z"
") - по умолчанию:
Mon Jul 3 17:18:43 2006 +0200
ADTC спрашивает и отвечает в комментариях:
Принимает ли он 2006-07-03 15:18:43 для локальных?
Да, это работает, и он принимает локальный часовой пояс автоматически.
С этим форматом мне не нужно беспокоиться о том, какой это день недели (Sun
,Mon
и т.д.).