Wrap Long git reflog Lines?
git reflog
отображает однострочное описание, обрезая его по правому краю.
74a8491 HEAD@{0}: checkout: moving from feature/x to feature/y
74a8491 HEAD@{1}: commit (merge): Merge branch 'feature/x' of https://github.com/
949d0e4 HEAD@{2}: ...
Как можно отобразить полное сообщение reflog, обернутое так, чтобы оно занимало минимально необходимое количество строк (одна строка для кратких описаний)?
3 ответа
git reflog
может взять любой git log
вариант, который вы хотите.
Если вы хотите, чтобы сообщение о полной фиксации связывалось с каждой записью git reflog, вы можете сделать:
git reflog show --pretty=full
Или для "однострочного для кратких описаний"
git reflog show --pretty=format:"%h : %s"
Вы можете принудительно переносить длинные сообщения с помощью core.pager
конфиг.
Чтобы эмулировать 'git reflog', добавив автора, дату и время и оберните длинные строки описания:
git reflog show --pretty='%C(yellow)%h%Creset %gd %w(110,0,26)%gs %C(cyan)%cn%Creset %ar'
%h
это короткий хеш%w(wrapwidth, firstLineIndent, indent)
вызывает перенос следующего поля на заданную ширину%gs
это описание reflog%cn
имя коммиттера%ar
дата изменения в относительном формате (время назад)
Сделайте это постоянным:
Чтобы включить команду:
git r # call it whatever you want
Поместите это в файл ~/.gitconfig:
[псевдоним] r = reflog show --pretty='%C(желтый)%h%Creset %gd %w(110,0,26)%gs %C(голубой)% cn% Creset% ar'
(Псевдоним может быть назван как угодно, кроме 'reflog' или существующей команды.)
Обычный пейджер less
, и вы можете переключить его опцию переноса строк. Тип -S
по приглашению пейджера. h
даст больше кровавых подробностей.