`git tag` 和 `git describe --tags` 之间的“打印差异”是什么?

`git tag` 和 `git describe --tags` 之间的“打印差异”是什么?

git tag似乎在单独的进程(窗口?应用程序?)中打印,而git describe --tags“就地”打印。我可以通过执行以下操作来实现与git tagas相同的打印行为。git describe --tagsgit tag | tee

tee将要 ”从标准输入读取并写入标准输出和文件“(复制自man tee)。这是否意味着git tag通常不会打印到标准输出?

man xyz请注意,我仅使用 git 作为示例命令,我在和之间发现了相同的“打印差异”cat xyz.txt

那么,两者之间有什么区别呢?首先,当我输入man或 时,我会达到什么类型的“状态” git tag?它是如何工作的?

答案1

默认情况下,git tag使用寻呼机(同样默认情况下,less)。这可以是配置使用pager.tag

pager.tag仅在列出标签时(即-l使用或暗示时)才会受到尊重。默认是使用寻呼机。看git 配置[1]

git tag暗示-l

您可以通过设置PAGER单次git tag调用来临时覆盖此设置:

PAGER= git tag

或将git tag输出重定向到cat

git tag | cat

git describe --tags 没有使用寻呼机。

相关内容