Подтвердить что ты не робот

Git Командная строка Windows застревает во время команд Git с (END)

У меня есть Git для установки Windows (msysgit), и он работал отлично в течение последних нескольких дней, и сегодня я столкнулся с нечетной ошибкой.

При выдаче команды Git в командной строке Windows или в Git Bash, которая поставляется вместе с msysgit, появляется странная строка (END), а затем я не могу выдавать какие-либо другие comamnds.

alt text

В этот момент все, что я получаю, это системные звуковые сигналы.

Любые идеи?

Спасибо, P.

4b9b3361

Ответ 1

Git хотите показать более одного экрана информации, чтобы сделать это, он вызывает стандартную программу пейджера unix less. Просто введите q, чтобы вернуться в приглашение, когда вы больше не хотите перемещаться по выходу.

  • j переместить одну строку вниз
  • k переместить одну строку вверх
  • <space> перемещение на одну страницу вниз
  • b перемещение на одну страницу вверх
  • h показать справку

Если вы хотите эффективно использовать git, вы должны изучить базовые инструменты unix. Даже если git создавать и запускать на окнах, это довольно чуждое программное обеспечение на платформе.

Если вы не хотите, чтобы less просто заменил его другим пейджером в конфигурации. Если вы не хотите, чтобы пейджер вообще использовал только cat:

git config --global --add core.pager cat

Ответ 2

Нажмите q, чтобы выйти из pager (который less в git по умолчанию).

Ответ 3

Я впервые столкнулся с этим вопросом, когда искал то же самое; чтобы не было выхода из команды журнала. С тех пор я нашел ответ, который мне нравится, поэтому, несмотря на то, что он уже после первоначального запроса, я добавлю этот ответ, чтобы предоставить дополнительное решение, которое я не нашел быстро в своем собственном поиске.

Другие заявили, почему присутствует (END) - результаты передаются через пейджер, который может быть настроен для другого пейджера.

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

Этот глобальный параметр находится в самой команде git, доступен для всех подкоманд и помещается перед подкомандой следующим образом:

git --no-pager log

Ответ 4

Git использует "пейджер" под названием less, который позволяет легко прокручивать большой объем выходных данных программы. Тем не менее, настройки по умолчанию для Git для Windows кажутся поддерживать работу пейджера, даже если на экране меньше одного экрана.

Вот настройки по умолчанию, которые у меня были раньше, которые всегда будут показывать (END) и дождитесь, пока вы нажмете q, прежде чем возвращать вас в приглашение:

$ git config --get core.pager
less -+F

Вы можете изменить поведение, чтобы less продолжал работать (и управлял клавиатурой), когда на экране больше, чем экранный вывод, изменяя параметр -F вместо -+F.

Устранив надоедливый пейджер

$ git config --global core.pager "less -F"

(Синтаксис параметра -+X для less документирован как reset параметр -X для его "по умолчанию", хотя это не поведение, которое я наблюдал при -+F, поскольку удаление этой опции в целом эквивалентно -F, а не -+F.)