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

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

30
задан CaptSaltyJack
12.12.2022 1:47 Количество просмотров материала 3321
Распечатать страницу

2 ответа

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

git config --global pager.diff false

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

17
отвечен Chris Johnsen 2022-12-13 09:35

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

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

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

0
отвечен Seth Robertson 2022-12-13 11:52

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх