我不知道该怎么说。
当我运行任何git log命令时,它都会在自己的“窗口”中产生输出。我需要按q返回提示,然后所有日志显示都消失了。
有什么方法可以产生日志输出“内联”,以便在日志输出后显示提示?
退出git log后输出的结果没有保留在终端历史记录中的原因git是,寻呼机程序git用来显示其输出时发出转义序列,以切换到备用显示缓冲区以保持主缓冲区完整。这通常是一个有用的功能。
一些寻呼机允许禁用此缓冲区切换。例如,如果分页器为less(在Unix-like系统上为默认分页器),则可以LESS在shell配置文件中设置环境变量:
export LESS="--no-init"
Run Code Online (Sandbox Code Playgroud)
-X, --no-init默认情况下,这将打开选项(然后可以通过-+X命令行上的开关将其关闭)。结果是的输出git log将被写入主缓冲区,结果将保留在终端历史记录中。
如果寻呼机支持缓冲区切换,但没有办法将其关闭,则唯一的解决方案是不使用此类寻呼机进行git log输出。
将寻呼机切换到其他位置:
$ git config --global core.pager less
Run Code Online (Sandbox Code Playgroud)
或为禁用分页git log:
$ git config --global pager.log false
Run Code Online (Sandbox Code Playgroud)
或什至完全是其他git命令:
$ git config --global core.pager cat
Run Code Online (Sandbox Code Playgroud)
当我运行任何
git log命令时,它都会在自己的“窗口”中产生输出。我需要点击q以返回提示
至于问题的这一部分,我想说的是,您实际上并不希望git log每次运行时都将兆字节的输出溢出到终端中git log。寻呼机为您提供的功能通常非常有用:滚动,搜索,跳转,更改文件,运行命令等。
您可能想要的是绕过寻呼机以获得短输出。git不提供此功能,但某些传呼机提供。例如,如果使用less,则可以在shell配置中-F, --quit-if-one-screen为LESS环境变量添加选项:
export LESS="--no-init --quit-if-one-screen"
Run Code Online (Sandbox Code Playgroud)
less如果整个输出可以显示在单个屏幕中,这将自动退出。
| 归档时间: |
|
| 查看次数: |
1166 次 |
| 最近记录: |