我不知道该如何更好地表达这个问题。
当我运行任何git log命令时,它会在自己的“窗口”中产生输出。我需要按q键回到提示符,然后所有日志显示就消失了。
有没有办法使日志输出“内联”,以便日志输出显示在提示符后面?
如果你使用的是中文操作系统,可以在命令行中输入下列指令:git log
,但是当你退出 git
后,该命令的输出不会留存在终端历史记录中。这是由于 git
使用的分页程序发出了转义序列,以切换到备用显示缓冲区,以保持主缓冲区完好无损。通常情况下,这是一个有用的功能。
一些分页程序允许禁用此缓冲区切换。例如,如果你正在使用的分页程序是 less
(Unix-like 系统上的默认分页程序),你可以在 shell 配置文件中设置 LESS
环境变量:
export LESS="--no-init"
-X,--no-init
选项(可通过命令行上的-+X
开关关闭)。其效果是git log
的输出将被写入主缓冲区,并因此保留在终端历史记录中。git log
输出。$ git config --global core.pager less
或者在git log
中禁用分页:
$ git config --global pager.log false
甚至对于其他git
命令也是一样的:
$ git config --global core.pager cat
git log
命令时,它会在自己的“窗口”中生成输出。我需要按下q回到提示符。git log
时在终端中溢出兆字节的输出。分页程序提供的功能通常非常有用:滚动、搜索、跳转、更改文件、运行命令等等。git
没有提供此功能,但一些分页程序可以。例如,如果您使用less
,您可以在shell配置中将-F, --quit-if-one-screen
选项添加到LESS
环境变量中:export LESS="--no-init --quit-if-one-screen"
less
在整个输出可以在单个屏幕中显示时自动退出。使用以下命令:
git log | cat
使用cat命令在终端上显示git log的输出。
--no-pager
参数。例如,使用git --no-pager log
。 - ElpieKaygit log
默认直接输出到标准输出,你可以设置core.pager
配置变量使用cat
(而不是默认的less
)。也就是说,要在全局的gitconfig中设置该配置变量,请运行git config --global core.pager cat
。 - Alderathless
,您可以设置LESS环境变量以包括-FX
(--quit-if-one-screen --no-init
)选项。第一个选项将使您无需按下“q”键即可获得短输出(例如git log -1
),第二个选项将使其在less
退出后“粘”在标准输出中(这可能就是您所说的“内联”显示)。 - eush77