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

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

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

5 ответов


как пишет man-страница, вы можете использовать параметры для 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.

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

на 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 не имеет никакого эффекта.