Как отключить пейджер в git only для diff с опцией только для имени? - PullRequest
0 голосов
/ 17 января 2019

Мне нужно git diff, используя пейджер, а git diff --name-only нет.

Пробовал git config --global pager.diff.name-only false и не работает.

Желаемое поведение похоже на git --no-pager diff --name-only. Но я не хочу каждый раз печатать --no-pager.

Есть какой-нибудь конфиг или псевдоним, который может это сделать?

1 Ответ

0 голосов
/ 17 января 2019

Вы можете сделать псевдоним:

[alias]
    ndiff = !git --no-pager diff --name-only

и затем запустите git ndiff вместо git diff --name-only. Или оставьте часть --no-pager из псевдонима и запустите git ndiff --name-only, где ndiff означает no-pager-diff.

Или вместо git diff вы можете запустить git diff-tree или git diff-files или git diff-index. Эти три команды являются сантехническими командами back-end, которые git diff использует (для большинства своих) различных режимов работы. Ни один из них не использует пейджер, и большинству из них требуются дополнительные опции (например, -r), которые будут использоваться таким же образом, как их запускает git diff, но они существуют и являются правильным способом написания скриптов . Для ваших собственных псевдонимов нет необходимости использовать сантехнические команды; ваш собственный псевдоним может просто вызвать git --no-pager diff <options>.

...