Мне нравится, например, включение пейджера git log
, но не git diff
потому, что у меня есть собственный инструмент визуального сравнения, и я ненавижу нажимать 'q' в командной строке после завершения сравнения. Есть ли способ сделать это?
Мне нравится, например, включение пейджера git log
, но не git diff
потому, что у меня есть собственный инструмент визуального сравнения, и я ненавижу нажимать 'q' в командной строке после завершения сравнения. Есть ли способ сделать это?
Ответы:
Вы можете установить pager.diff
переменную конфигурации, чтобы отключить пейджер для определенных подкоманд. Смотрите pager.<cmd>
в git-config (1) .
git config --global pager.diff false
Оставьте это поле, --global
если вы хотите внести изменения в конфигурацию только для текущего репозитория.
git -c pager.diff=false log ...
.
Не очень хорошее решение, но у вас может быть оболочка git, которая определяет, какую команду вы запускаете, и направляет вывод через cat для устранения обнаружения терминала.
#!/bin/sh
case "$1" in)
diff) git "$@" | cat;;
*) exec git "$@";;
esac
Конечно, мой пример программы полностью мозговой. Вы должны были бы пропустить опции вместо жесткого кодирования "$ 1" в программе.