Как я могу показать вывод журнала git с (как минимум) этой информацией:
* author
* commit date
* change
Я хочу сжать до одной строки в записи журнала. Какой самый короткий формат для этого?
(пробовал, --format=oneline
но это не показывает дату)
git
formatting
logging
Джеспер Рённ-Йенсен
источник
источник
Ответы:
git log --pretty=format:"%h%x09%an%x09%ad%x09%s"
сделал работу Это выводит:
Вдохновленный вопросом stackoverflow: «вывод журнала git как svn ls -v» , я обнаружил, что могу добавить именно те параметры, которые мне нужны.
Чтобы сократить дату (не показывая время) используйте
--date=short
Если вам интересно, какие были разные варианты:
%h
= сокращенный хэш коммита%x09
= табуляция (символ для кода 9)%an
= имя%ad
автора = дата автора (с уважением к формату --date = опция)%s
= темаИз kernel.org/pub/software/scm /git/docs/git-log.html (раздел PRETTY FORMATS ) по комментарию Vivek.
источник
date=short
как предлагает cdunn2001 в другом ответеgit log --pretty=format:"%h %ad%x09%an%x09%s" --date=short
git log --pretty=format:'%C(yellow)%h %Cred%ad %Cblue%an%Cgreen%d %Creset%s' --date=short
alias glop="git log --pretty=format:'%C(yellow)%h|%Cred%ad|%Cblue%an|%Cgreen%d %Creset%s' --date=short | column -ts'|' | less -r"
Я использую эти две настройки .gitconfig:
% ad - это дата автора, которая может быть переопределена
--date
или указана в разделе [log] в .gitconfig. Мне нравится относительная дата, потому что она дает немедленное ощущение, когда материал был добавлен. Вывод выглядит так:Это все, конечно, в цвете, поэтому легко различить различные части строки журнала. Также это значение по умолчанию при наборе текста
git log
из-за секции [format].ОБНОВЛЕНИЕ 2014: Поскольку git теперь поддерживает отступы, у меня есть хорошая поправка к версии выше:
Это право выравнивает относительные даты, а слева выравнивает имена коммиттеров, а это означает, что вы получаете похожий на столбец вид, который легко бросается в глаза.
СкриншотОБНОВЛЕНИЕ 2016: Поскольку подпись коммитов GPG становится делом, я подумал, что я обновлю этот пост версией, включающей проверку подписи (на скриншоте это пурпурное письмо сразу после коммита). Краткое объяснение флага:
Другие изменения включают в себя:
git log -g
теперь содержит селектор reflog.3 years, 4..
)%<(7,trunc)
или проверьте функцию git .mailmap, чтобы сократить имена коммитеров)Вот конфиг:
В целом выравнивание столбцов теперь намного лучше сохраняется за счет некоторых (надеюсь) бесполезных символов. Не стесняйтесь редактировать, если у вас есть какие-либо улучшения, я бы хотел, чтобы цвет сообщения зависел от того, подписан ли коммит, но, похоже, это невозможно.
Скриншотисточник
tig
ответ дает интерактивность без требуемой конфигурации, но этот блестящий - он выдает запрошенный вывод в одну строку (с цветом для загрузки!) С помощью стандартной команды 'git log'. Очень хорошо.>
<
оценки. Пробовал добавлять%m
в формат, но потом>
появляется каждый раз, даже для нормальногоgit log
. Любые подсказки, как сделать так, чтобы метки вели себя нормально с форматом?--oneline
это просто псевдоним для--pretty=oneline
.format.pretty
это красивый формат по умолчанию, но нет способа переопределитьformat.oneline
afaik. То, что я сделал бы, это опуститьpretty = shortlog
строку в конфигурации и затем создать псевдоним для запускаgit log --pretty=shortlog
.использовать
--date=
для установки формата датыисточник
Не стесняйтесь использовать это:
Обратите внимание
-7
на в конце, чтобы показать только последние 7 записей.Смотреть:
источник
--date=short
можно добавить, чтобы сделать его короче.git log
всегда показывает историю извлеченной ветки.%d
чтобы восстановить "ref имена", как(HEAD -> master)
.reset
вместоauto
?tig является возможной альтернативой использованию команды git log , доступной в основных дистрибутивах * nix с открытым исходным кодом.
На Debian или Ubuntu попробуйте установить и запустить следующим образом:
(Tig устанавливается)
(журнал отображается в пейджере следующим образом, хэш текущего коммита отображается внизу)
Поскольку уценка не поддерживает раскраску текста, представьте: столбец 1: синий; столбец 2: зеленый; столбец 3: цвет текста по умолчанию. Последняя строка выделена. Нажмите Q или q, чтобы выйти.
tig
Выравнивает столбцы без неровных краев , что не гарантирует вкладка ascii (% x09).Для короткого формата даты нажмите на заглавную D (примечание: строчная буква d открывает представление diff). Настройте его навсегда, добавив
show-date = short
в ~ / .tigrc; или в[tig]
разделе .git / configure или ~ / .gitconfig.Чтобы увидеть все изменения :
Так как tig отделен от git и, по-видимому, * nix специфичен, вероятно, для установки на windows требуется cygwin. Но для Fedora я считаю , что установить команды
$ su
,(enter root password)
,# yum install tig
. Для FREEBSD попытки% su
,(enter root password)
,# pkg_add -r tig
.Кстати, Tig полезен гораздо больше, чем быстрый просмотр журнала: скриншоты и руководство
источник
tig
в моей консоли просто дает мне ошибку-bash: tig: command not found
pact install tig
или
... переходя к ответу cdunn2001 выше: я потеряю электронную почту автора и включу только имя автора, согласно Jesper и knittl, но в соответствии с идеей cdunn2001 о сохранении вывода в столбцах постоянной ширины для удобства чтения ( отличная идея!). Вместо отдельного выровненного по левому краю столбца для имени автора, однако, я заключаю этот флаг в конце команды в круглые скобки или смещаю его в трубу. (На самом деле это может быть любой символ, который служит визуальным помощником при чтении выходных данных ... хотя может иметь смысл избегать обратной или прямой косой черты, чтобы уменьшить путаницу вывода с каталогом или чем-то еще.)
Пример вывода:
источник
Используйте предопределенный псевдоним git, то есть:
Создается один раз по команде:
https://git-scm.com/book/tr/v2/Git-Basics-Git-Aliases
Или более цветной с графиком:
источник
Результат:
Материал постоянной ширины - первый. Наименее важная часть - домен электронной почты - является последней и легко фильтруемой.
источник
Чтобы показать коммиты, которые я поставил, которые готовы нажать, я делаю
Вывод выглядит примерно так:
Где первый столбец отображается желтым цветом, а 'H', 'm' и 't' в парентезе показывают ГОЛОВУ, мастер и туловище и отображаются в их обычных цветах "--decorate"
Вот оно с переносами строк, чтобы вы могли видеть, что он делает:
Я псевдоним для «постановки» с:
(Есть ли более простой способ избежать этого? Было немного сложно понять, что нужно было убежать)
источник
Все вышеупомянутые предложения используют
%s
заполнитель для предмета. Я рекомендую использовать,%B
потому что%s
форматирование сохраняет новые строки, а сообщение о фиксации нескольких строк оказывается сжатым.источник
Запустите это в папке проекта:
И если хотите, добавьте эту строку в ваш ~ / .gitconfig:
источник
Попробуйте git log --pretty = fuller, он покажет вам: - Автор: Дата автора: Фиксация: Дата фиксации:
Надеюсь это поможет.
источник