Почему я должен нажимать «Q» в конце «git log»?

79

Рассматривать:

git log -n 20 --pretty=oneline

Я говорю Git, что мне нужно увидеть только последние 20 коммитов. Ненавижу ударить, Qчтобы избавиться от END. Есть ли выход, чтобы мне не пришлось бить Q?

Ник Вандербильт
источник

Ответы:

83

Git автоматически разбивает выходные данные на страницы, поскольку журналы имеют тенденцию легко выходить за пределы одного размера окна терминала (вы находитесь в одном из редких исключений - однострочный формат и небольшой лимит фиксации). Если вы этого не хотите, используйте:

git --no-pager log -n 20 --pretty=oneline

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

Каскабель
источник
4
@DeckTrout Без какой-либо информации никто не сможет вам помочь. Если вам удастся уточнить свои настройки, вы можете попробовать задать новый вопрос. Этот ответ сработал для OP здесь (и многих других), поэтому для вас явно что-то другое.
Cascabel
1
Добавить l = !git --no-pager log -n 20 --pretty=onelineв .gitconfigсоздать псевдоним ..
saveshodhan
В Git для Windows это изменяет выделение «commit insert-hash-here» с оранжевого на желтый.
Unknow0059,
26

Вы можете «отключить» разбиение на страницы git, указав использовать cat вместо less. После этого направьте вывод через less, если вам нужно подкачку, или head, если вы просто хотите увидеть верхнюю часть и т. Д.

git config --global core.pager cat

Я отключаю автоматическое разбиение на страницы, потому что я часто запускаю git из emacs, который не нужен и не работает с меньшим.

Уэйн Конрад
источник
Мой журнал git не заканчивается новой строкой, поэтому приглашение оболочки после журнала находится в той же строке, что и мой самый старый коммит. Тем не менее, хороший совет, спасибо.
Kenny Rasschaert
13

lessпринимает -Fаргумент для автоматического выхода, если контент умещается на одном экране

hasen
источник
8

git log -n 20 --pretty=oneline | cat

немного короче, чем --no-pagerвариант, но также удаляет все присутствующие цвета.

Дебильски
источник
8

Если вы хотите использовать --no-pagerпсевдоним, настройте свой псевдоним следующим образом:

hist = !git --no-pager log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
Александр Зонов
источник
0

Q используется для закрытия программы командной строки, используемой для просмотра журналов ...

Вы можете использовать другое средство просмотра журналов, например gitk:

gitk -n 20
Ахмед Котб
источник
gitk полезен для просмотра графиков и т. д. Я искал легкое решение. Благодарю.
Ник Вандербильт,
0

Псевдоним для команды журнала, в которой вам не нужно нажимать, qчтобы она исчезла:

git config --global alias.hist '!git --no-pager log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short --max-count=10'
Пилинукс
источник