Есть ли способ заставить git-reflog показывать дату рядом с каждой записью?
команда git-reflog по умолчанию не показывает дату рядом с каждой записью, что кажется мне странным упущением; я думаю, что это было бы очень полезно.
есть ли какие-либо параметры командной строки, или прочих ухищрений, которые могут быть использованы, чтобы вызвать его, чтобы показать, когда каждая запись reflog был добавлен? Элемент manpage не поступило...
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
записи или timedreflog
записи, т. е.$ 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
не имеет никакого эффекта.