Как сделать git log украсить по умолчанию
Я часто набираю git log
, когда я действительно хочу git log --decorate
. Как сделать его украшением по умолчанию?
Я видел много ответов в форме "make alias lg", а затем git lg
вместо git log ". Но я не могу найти, как изменить поведение по умолчанию самого журнала git. alias log
не работает.
Ответы
Ответ 1
git config log.decorate auto
для глобальной настройки добавьте параметр --global
.
поэтому было бы git config --global log.decorate auto
Алиасы создаются с помощью git config alias.lg "log --decorate"
Изменить: обновлен log.decorate true
до auto
на основе ответа от VonC, так как теперь это рекомендуемый способ.
Ответ 2
Обновление апрель 2017 года, 3 года спустя:
В Git 2.13 (второй квартал 2017 года) настройка не требуется: по умолчанию используется --decorate
!
См. коммит 940a911 (24 марта 2017 г.) от Алекса Генри (alexhenrie
).
(Merged by Junio C Hamano -- [TG42] -- in commit d9758cf, 11 Apr 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
", чтобы выбрать это поведение.