Git diff: запись вывода и выход вместо интерактивного режима

Когда я бегу git diff в моей командной строке OSX вывод отображается внутри less или же vim интерфейс. Интерфейс позволяет мне прокручивать вверх и вниз и выйти с помощью клавиши q.

Это очень раздражает, особенно когда нет различий, а git открывает пустой экран.

Можно ли просто написать diff (цветной) вывод на экран, не переходя в интерактивный режим?

4 ответа

Решение

Отключить интерактивный пейджер с помощью --no-pager вариант.

Использование: git --no-pager diff (обратите внимание, что он не специфичен для git-diff, поэтому его можно использовать с любой командой git!)

Документация: https://git-scm.com/docs/git

Скопировано с /questions/2385481/kak-ya-mogu-zapretit-git-diff-ispolzovat-pejdzher/2385509#2385509

Вы также можете использовать:

git diff --exit-code

Да. Использование:

git diff --color | cat

--color необходимо, так как по умолчанию git не будет выводить цвета, если стандартный вывод не является tty (с поддержкой цвета).

Я использую это в некоторых файлах Makefile с 'diff' и 'grep':

GIT_PAGER= git diff
Другие вопросы по тегам