Почему я должен нажимать «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аргумент для автоматического выхода, если контент умещается на одном экране


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'
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.