Есть ли способ заставить git-reflog показывать дату рядом с каждой записью?


команда git-reflog по умолчанию не показывает дату рядом с каждой записью, что кажется мне странным упущением; я думаю, что это было бы очень полезно.

есть ли какие-либо параметры командной строки, или прочих ухищрений, которые могут быть использованы, чтобы вызвать его, чтобы показать, когда каждая запись reflog был добавлен? Элемент manpage не поступило...

5 193

5 ответов:

как пишет man page вы можете использовать параметры для git log, сказал git reflog --pretty=short или любой другой, как вам нравится

попробовать

git reflog --date=iso

можно использовать --walk-reflogs вариант git log:

git log -g

это довольно многословно по умолчанию, и печатает дату среди прочего. Вы можете отформатировать его со стандартным --pretty= флаг.

вы также можете использовать команду reflog непосредственно с --pretty= флаг для форматирования выходных данных.

git reflog --pretty='%cd %h %gd %gs'

в формате выше, %cd показывает дату совершения слева от нормальный выход reflog.

рассказать git в каком формате, либо пересчитать reflog записи или timed reflog записи, т. е.

$ git reflog @{now}

$ git reflog @{0}

вы должны использовать пользовательский формат:

git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'

в указанном выше формате %h это хэш фиксации,%cr является относительной датой фиксатора,%gs - это reflog тему, а %s является предметом фиксации. Посмотрите на git-log docs для других возможных заполнителей. Например, с помощью %ci вместо %cr покажет абсолютные даты фиксации.

вы можете сохранить это в ваш ~/.gitconfig с помощью пользовательского pretty формат и обратитесь к нему через псевдоним:

[alias]
    rl = reflog --pretty=reflog
[pretty]
    reflog = %C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)

Примечание git 2.10 (Q3 2016) улучшает документацию о дате с git reflog.

посмотреть commit 642833d,commit 1a2a1e8 (27 июля 2016), и commit d38c7b2,совершить 522259d,commit 83c9f95,commit 2b68222 (22 июля 2016) by Джефф Кинг (peff).
Помог-by:Джефф Кинг (peff).
(сливаются Junio C Hamano--gitster-- in commit 0d32799, 08 авг 2016)

The rev-list опции обновляется:

обозначение reflog в выходной может быть указано как ref@{Nth} (где Nth-обратный хронологический указатель в reflog) или как ref@{timestamp} (С отметкой времени для этой записи), в зависимости от нескольких правил.

он включает в себя: - обновление о --date=raw:

показывает дату в секундах с момента эпохи (1970-01-01 00:00: 00 UTC), а затем пробел, а затем часовой пояс в качестве смещения от UTC (a + или - С четырьмя цифрами; первые два часа и две минуты).
Т. е., как если бы метка времени была отформатирована с strftime("%s %z")).
Обратите внимание, что -local опция не влияет на seconds-since-epoch значение (которое всегда измеряется в UTC), но переключает сопровождающее значение часового пояса.

и новая опция:--date=unix

показывает дату как временную метку эпохи Unix (секунды с 1970 года).
Как и с --raw, это всегда в UTC и поэтому -local не имеет никакого эффекта.