سؤال

I created a Git alias based off of the Git Immersion tutorial by EdgeCase that looks like this:

hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short

But now it seems to be paging the results — Terminal shows (END) after the results are displayed, forcing me to hit Q to continue working. I read that by adding in the --no-pager tag, you can disable this feature; how do I incorporate it into the alias? I've tried it at the end, before the log, and right after, and none of them have worked. Git throws an error saying it is an unrecognized argument, or that it changes environment variables. Any advice?

هل كانت مفيدة؟

المحلول

You can do that easily by just turning it into a shell command:

hist = "!git --no-pager log ..."

نصائح أخرى

Note: with Git 2.18 (Q2 2018), the alias can use a shorter option for --no-pager:
"git --no-pager cmd" did not have short-and-sweet single letter option. Now it does.

The alias can now be:

hist = "!git -P log ..."

See commit 7213c28 (03 May 2018) by Johannes Sixt (j6t).
(Merged by Junio C Hamano -- gitster -- in commit c9aac55, 23 May 2018)

git: add -P as a short option for --no-pager

It is possible to configure 'less', the pager, to use an alternate screen to show the content, for example, by setting LESS=RS in the environment.
When it is closed in this configuration, it switches back to the original screen, and all content is gone.

It is not uncommon to request that the output remains visible in the terminal. For this, the option --no-pager can be used.
But it is a bit cumbersome to type, even when command completion is available.
Provide a short option, -P, to make the option more easily accessible.

The --no-pager option gives an unrecognized option error when used after log, but it worked by putting --no-pager before log - "git --no-pager log .... " worked

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top