Смещение заполнителя %h
для выравнивания
Поскольку axiac ранее упоминалось, вы можете ограничить ширину первого поля. Например, если вы добавляете %>|(16)
в начало определения форматирования, вы можете сдвинуть сокращенный хеш коммита (%h
), чтобы завершить его хотя бы в 16-м столбце. Если вы вычтете 7 цифр %h
и еще один символ пробела, вы дадите графику 8 цифр.
Ваш оригинальный формат журнала git:
Более выровненная версия, добавив %>|(16)
для %h
:
Добавление аргумента длины
Как уже упоминалось axiac , это решение столкнется с проблемой. Когда длина вашего графика превысит 8 символов, из-за проекта, содержащего много параллельных ветвей, ваши записи в журнале будут сдвинуты еще больше. Вы должны настроить псевдоним в соответствии с текущей ситуацией в Git-проекте. К счастью, для мощных псевдонимов Git существует трюк . С помощью этого трюка вы можете передать свой псевдоним аргумент, который устанавливает количество смещенных столбцов.
Вызов вашего псевдонима с параметром 30
, а затем смещение записей журнала Git на 22 столбца:
Установить значение по умолчанию для аргумента длины
Теперь, возможно, вы не собираетесь передавать количество столбцов каждый раз, когда вы вызываете свой псевдоним. Эта ссылка объясняет, как установить параметр по умолчанию. Таким образом, ваш псевдоним ссылается на значение по умолчанию, которое вызывается без аргумента. Как только мы это сделаем, мы сможем исправить отклонение 8 цифр непосредственно внутри псевдонима. Таким образом, переданный аргумент напрямую соответствует фактически сдвинутым столбцам.
Конечный псевдоним
Ваш окончательный псевдоним Git, принимающий аргумент для смещения записей журнала Git на x
столбцов со смещением по умолчанию 8 цифр:
$ git config --global alias.treex
!f() { x=${1-16}; length=`expr $x + 8`; git log --color --graph --pretty=format:"%>|($length)%C(cyan)%h%Creset - %C(cyan)%ad%Creset %<(80,trunc)%s %C(cyan)%>(20,trunc)%an - %Cgreen%>(12)%cr%Creset" --date=format:%d.%m.%Y; }; f