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

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

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

Могу ли я просто написать diff (color) выход на экран без входа в интерактивный режим?

Ответ 1

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

git diff --exit-code

Ответ 2

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

git diff --color | cat

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

Ответ 3

Я использую это в некоторых Makefiles с "diff" и "grep":

GIT_PAGER= git diff