git tag seems to print in a separate process (window? app?) whereas git describe --tags is printed "in place". I can achieve the same printing behavior with git tag as git describe --tags by doing git tag | tee.

tee will "read from standard input and write to standard output and files"(copied from man tee). Does that mean that git tag doesn't normally print to standard output?

Note that I'm only using git as an example command, the same "printing difference" I find between man xyz and cat xyz.txt

So, what is the difference between the two? Primarily; what type of "state" do I reach when i type man or git tag? How does it work?

1 Answer 1


By default, git tag uses a pager (again by default, less). This can be configured using pager.tag:

pager.tag is only respected when listing tags, i.e., when -l is used or implied. The default is to use a pager. See git-config[1].

git tag implies -l.

You can override this temporarily by setting PAGER for a single git tag invocation:

PAGER= git tag

or redirecting git tag’s output to cat:

git tag | cat

git describe --tags doesn’t use a pager.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.