Ответы:
Есть несколько вариантов красивой печати даты. Вероятно, самый простой - просто использовать один из предварительно запеченных --prettyформатов, например git log --pretty=fuller- это покажет обе даты. Если вы хотите видеть только одну дату, но сделать ее датой фиксации, вы можете использовать git log --format=<some stuff>. Все допустимые коды для определения формата задокументированы в git help log. Фиксации дата является одним из %cd, %cD, %cr, %ctили %ci, в зависимости от того, какого формата вы предпочитаете его.
Если это то, что вы хотите делать часто, укажите это в псевдониме или напишите вспомогательный скрипт, чтобы сэкономить на вводе.
Вы можете использовать --pretty=formatи использовать %crдля относительной даты фиксации.
Например:
$ git log --graph --pretty=format:'%C(auto)%h%d (%cr) %cn <%ce> %s'
Вы можете определить псевдоним в git, чтобы упростить его использование. У меня в наличии есть .gitconfig:
[alias]
# see `git help log` for detailed help.
# %h: abbreviated commit hash
# %d: ref names, like the --decorate option of git-log(1)
# %cn: commiter name
# %ce: committer email
# %cr: committer date, relative
# %ci: committer date, ISO 8601-like format
# %an: author name
# %ae: author email
# %ar: author date, relative
# %ai: author date, ISO 8601-like format
# %s: subject
# my awesome git log replacement
lol = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s\"
# same as above, but ISO date
lold = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%ci)%Creset %C(green)%cn <%ce>%Creset %s\"
# using build-in standards
lol2 = log --oneline --graph --decorate
# shows branches and their last commits
lol3 = log --all --graph --decorate --oneline --simplify-by-decoration
В Linux или аналогичных системах вы можете использовать одинарные кавычки 'вместо двойных кавычек ":
[alias]
lol = log --graph --pretty=format:'%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s'
С этим просто запустите git lolили другие варианты, чтобы увидеть красивый результат.
Вот результат git lol --simplify-by-decoration:
lolлегче набирать log, и звучит лучше.
git logесли вам когда-нибудь понадобится.Вот результат git loldс датами в формате ISO. Полезно для просмотра точной даты / времени совершения фиксации, с бонусом в виде возможности легко увидеть часовой пояс участника.
Изменить 2020-06 : добавлены скриншоты. Обновлено для использования %C(auto)(авто / раскраска по умолчанию) для %h(хеш фиксации) и %d(имена ссылок). Добавлено %cn(имя коммитера) в дополнение к электронной почте.
git log --graph --pretty=format:\"%C(yellow)%h%Creset%C(cyan)%C(bold)%d%Creset %C(cyan)(%cr)%Creset %C(green)%ce%Creset %s\" bash: синтаксическая ошибка рядом с неожиданным токеном `('
Я предпочитаю этот формат, без имени автора и фактической даты фиксации.
git log --graph --pretty=format:"%C(yellow)%h%x09%Creset%C(cyan)%C(bold)%ad%Creset %C(green)%Creset %s" --date=short
git show --pretty=fuller HEADдля примера). Для локальной разработки они обычно одинаковы, но для исправлений, добавленных по электронной почте или с помощью других механизмов, они могут отличаться, где AuthorDate - это дата создания исправления, а CommitDate - это время, когда оно было фактически применено к репозиторию.