Как выйти из git журнала или git diff?

Я пытаюсь изучить Git с помощью Git Immersion. Там одна вещь, которая расстраивает меня, когда я использую git log или git diff:

Git log shows (END) marker

Я не могу понять, что делать дальше, когда я сталкиваюсь с этим словом (END). Я не могу вводить какие-либо команды, и я заканчиваю закрытие текущего bash и открываю другое. Как мне ввести следующую команду, которую я хочу использовать?

Ответ 1

Вы находитесь в программе less, которая позволяет прокручивать вывод git log.

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

Если вы не хотите читать вывод в пейджере и хотите, чтобы он был просто напечатан на терминале, определите переменную окружения GIT_PAGER до cat или установите core.pager в cat (выполните git config --global core.pager cat).

Ответ 2

Вы можете нажать q для выхода.

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

Ответ 3

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

Ответ 4

Добавьте следующий псевдоним в файл .bashrc

git --no-pager log --oneline -n 10
  • --no-pager встретит слово (END)
  • -n 10 покажет только последние 10 коммитов
  • --oneline покажет сообщение фиксации, игнорирует автора, информацию о дате

Ответ 5

На самом деле, есть три способа сделать это, точно.

Введите любую из следующих 3 команд.

  1. : q
  2. : z или
  3. Ctrl + z

PS: Иногда для кого-то один из этих вариантов не работает, а для других - работает.

Ответ 6

Я хотел бы дать некоторые комментарии к комментарию, который упоминал CTRL + Z как вариант. В конце концов, это будет зависеть от того, какая система у вас установлена ​​ Git и какая программа сконфигурирована для открытия текстовых файлов (например, less vs. vim). CTRL + Z работает для vim в Windows.

Если вы используете Git в среде Windows, есть некоторые причуды. Просто помогает понять, что они собой представляют. (т.е. Блокнот против Nano и т.д.).

Ответ 7

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

Как правило, если вы просто хотите прервать команду, выполняемую в настоящее время, вы можете попробовать ctrl+c (однако, похоже, что это не работает для git log) или ctrl+z (хотя в bash, ctrl-z заморозит текущий выполняемый процесс переднего плана, который затем можно оттаивать как фоновый процесс с помощью команды bg).