在单独的终端屏幕上显示 git diff 和 git 日志输出

Displaying git diff and git log output on a separate terminal screen

设置新的开发环境后,我遇到了一个奇怪的 git 行为,我不记得过去见过。

我习惯于 git diff and git log 在终端中创建一个新屏幕并在其中显示它们的输出(默认情况下 less 所做的,我将其用作我的寻呼机)。

然后我可以退出并返回到我之前的终端状态,命令输出消失。然而,现在,输出直接打印到同一个屏幕上,就好像它是 cat(但带有寻呼机)。任何想法如何解决这一问题?在网上找不到任何信息。

更新: 通过将 core.pager 设置为 'less -+F -+X'

,能够在@torek 的帮助下解决此问题

检查 PAGER 环境变量。这控制了各种程序使用哪些工具来分页输出。

export PAGER=less
git diff

如果这对您有用,您可以根据您的操作系统以各种方式将其设置为永久环境变量。

您可能已将 less 设置为现在使用 -X,而您之前将 less 设置为 而不是 使用 -X.

参见 my answer to How to display output of `git branch` on-screen in same CLI terminal?。请注意,您可以选择使用哪个寻呼机,and/or 是否也可以使用寻呼机。 (好吧,你在问题中注意到了这一点。)