Subject: Re: make "git --pager/--nopager" work as intended

From: Junio C Hamano <[email-masked]>
Date: Thu, 22 Jan 2026 09:17:31 -0800

Harald Dunkel <[email-masked]> writes:

> Hi folks,
>
> maybe its neurological, but the current behavior of "git -p" vs "git -P"
> makes me feel uneasy. Some commands (like git diff) use a pager by default,
> some ues it even without need (git branch), others don't. For every other
> git command I run I have the feeling git output is not working as intended.
>
> Setting core.pager to "cat" is not a solution. It breaks git -p.
>
> Regards
> Harri

I am not sure what is being asked here on the subject.  As far as I
understand, "git -p cmd" and "git -P cmd" do work as intended in
that they override the default choice of use (or non-use) of pager,
built into each individual command.

If you are saying that you disagree with the built-in choice made by
some of the commands, perhaps the following snippet from "git help
config" may help?

    pager.<cmd>::
            If the value is boolean, turns on or off pagination of the
            output of a particular Git subcommand when writing to a tty.
            Otherwise, turns on pagination for the subcommand using the
            pager specified by the value of `pager.<cmd>`.  If `--paginate`
            or `--no-pager` is specified on the command line, it takes
            precedence over this option.  To disable pagination for all
            commands, set `core.pager` or `GIT_PAGER` to `cat`.

So, if you have too many local branches like I do (I seem to have
411 of them as of this writing), 

	[pager]
		branch = false

would probably what you want?  With it "git -p branch" would still
let me paginate through all 411 local branches, and "git branch" and
"git -P branch" would make them scroll away.