Как отключить git-пейджер, но только для определенных команд?


14

Мне нравится, например, включение пейджера git log, но не git diffпотому, что у меня есть собственный инструмент визуального сравнения, и я ненавижу нажимать 'q' в командной строке после завершения сравнения. Есть ли способ сделать это?


Ответы:


23

Вы можете установить pager.diffпеременную конфигурации, чтобы отключить пейджер для определенных подкоманд. Смотрите pager.<cmd>в git-config (1) .

git config --global pager.diff false

Оставьте это поле, --globalесли вы хотите внести изменения в конфигурацию только для текущего репозитория.


3
Чтобы отключить для конкретного вызова: git -c pager.diff=false log ....
mjs

0

Не очень хорошее решение, но у вас может быть оболочка git, которая определяет, какую команду вы запускаете, и направляет вывод через cat для устранения обнаружения терминала.

#!/bin/sh
case "$1" in)
  diff) git "$@" | cat;;
  *) exec git "$@";;
esac

Конечно, мой пример программы полностью мозговой. Вы должны были бы пропустить опции вместо жесткого кодирования "$ 1" в программе.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.