开发者

How do I include --no-pager in a Git alias?

开发者 https://www.devze.com 2023-02-12 14:26 出处:网络
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

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开发者_JAVA百科 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

0

精彩评论

暂无评论...
验证码 换一张
取 消