Почему длинные результаты команд Git убивают мою подсказку PowerShell?

Я использую Git Shell (модуль для PowerShell) в Windows. Это тот, который был установлен, когда я установил Git для Windows. Когда я запускаю команду, которая приводит к большому количеству текста, например git log, я получаю страницу результатов, а затем ":" в нижней части экрана. Я предполагаю, что это запрос продолжения, потому что я нажимаю ENTER и получаю другой экран данных. Обычно я не могу нормально вернуться к нормальной подсказке. Я получаю текст (END) в нижней части оболочки, и похоже, что он маскирует первые несколько символов любой команды, которую я пытаюсь ввести, и даже кажется, что она немного спорадична. Кажется, я не понимаю. Любые идеи?

Ответ 1

Некоторые из команд git используют пейджер, чтобы вы могли одновременно просматривать один экран с информацией. Тот, который поставляется с git, обычно less (больше информации). Вы можете посетить ссылку для общих команд, но, как вы обнаружили, наиболее важным является q, чтобы выйти, чтобы вернуться в командную строку. Следующий наиболее полезный, который я нашел, - это space, чтобы перейти к следующему экрану.

Вы можете изменить используемый пейджер, если хотите, в поле git config file core.pager.

Ответ 2

Это старый вопрос, но я подумал, что я бы сказал, что git также предоставляет опцию -no-pager, чтобы вы могли использовать ее.

git --no-pager log

Надеюсь, что это поможет кому-то.

Ответ 3

Чтобы добавить к существующим ответам, обычный "пейджер" "Windows" more.com, который обычно ссылается на cmd как на просто more, но скрыт функцией more с аналогичной функциональностью в PowerShell. Если вы установили

git config --global core.pager more.com

ваши проблемы должны исчезнуть (хотя ценой функций, которые существуют меньше, но не более).