Как сделать так, чтобы git log украшался по умолчанию

Я часто набираю git log, когда на самом деле хочу git log --decorate. Как сделать так, чтобы он украшал по умолчанию?

Я видел множество ответов в форме создания псевдонима lg, а затем ввода git lg вместо git log. Но я нигде не могу найти, как изменить поведение самого git log по умолчанию. alias log не работает.


person Benubird    schedule 06.02.2014    source источник
comment
Git не позволяет использовать псевдонимы для скрытия существующих команд, поэтому вы не можете создать псевдоним с именем log.   -  person Chris    schedule 06.02.2014
comment
Примечание: Git 2.1 теперь предлагает decorate=auto. См. мой ответ ниже   -  person VonC    schedule 02.08.2014
comment
Примечание bis (3 года спустя): с грядущим Git 2.13 --decorate становится значением по умолчанию для git log: см. мой пересмотренный ответ ниже .   -  person VonC    schedule 17.04.2017


Ответы (2)


git config log.decorate auto

Для глобальной настройки добавьте параметр --global.

Так было бы:

git config --global log.decorate auto

Псевдонимы сделаны с git config alias.lg "log --decorate"

person Jakub    schedule 06.02.2014

Обновление апреля 2017 года, 3 года спустя:

В Git 2.13 (второй квартал 2017 г.) настройка не требуется: по умолчанию используется --decorate!

См. commit 940a911 (24 марта 2017 г.) от Алекс Генри (alexhenrie).
(объединено Хунио C Хамано -- gitster -- в commit d9758cf, 11 апреля 2017 г.)

Поведение по умолчанию «git log» в интерактивном сеансе было изменено, чтобы включить «--decorate».

Это означает, что вам нужно будет переопределить этот параметр в командной строке, чтобы вернуться к старому поведению (всего за одно log выполнение ):

git -c log.decorate=false log

Оригинальный ответ (середина 2014 г.)

Примечание: начиная с git 2.1.0-rc0 (июль 2014 г.), сам Линус Торвальдс представил параметр decorate=auto.
Это более точно, чем просто decorate=true, особенно для целей сценариев, как объяснено ниже.

См. коммит 1571586 от Линус Торвальдс (torvalds):

Это работает примерно так же, как «--color=auto» — добавляйте декорации для интерактивного использования, но не меняйте значения по умолчанию при написании сценариев или при передаче вывода куда угодно, кроме терминала.

Вы можете использовать либо

[log]
     decorate=auto

в файлах конфигурации git или в параметре командной строки «--decorate=auto», чтобы выбрать это поведение.

person VonC    schedule 02.08.2014
comment
@myol да, это синтаксис для использования. - person VonC; 03.02.2016
comment
Я думаю, вы можете дополнить ответ, указав, как теперь получить старое поведение через конфигурацию или командную строку, учитывая, что поведение по умолчанию теперь украшено. - person yucer; 03.09.2019
comment
@yucer Спасибо за это предложение. Я отредактировал ответ соответственно. - person VonC; 03.09.2019