我不知道如何更好地表达这一点。
当我运行任何 git log 命令时,它会在自己的“窗口”中产生一个输出。我需要按 q 回到提示,然后所有的日志显示都消失了。
有什么方法可以生成“内联”日志输出,以便在提示后显示日志输出?
最佳答案
git log
输出的原因git
后不留在终端历史记录中退出的是寻呼程序git
用于显示其输出发出 escape sequences切换到备用显示缓冲区以保持主缓冲区不变。这通常是一个有用的功能。
某些寻呼机允许禁用此缓冲区切换。例如,如果寻呼机是 less
(类 Unix 系统上的默认设置),您可以设置 LESS
shell 配置文件中的环境变量:
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
When I run any
git log
command, it produces an output in a 'window' of its own. I need to hit q to come back to the prompt
至于你问题的这一部分,我会说你实际上并不想要
git log
的兆字节。每次运行时输出都会溢出到您的终端 git log
.寻呼机为您提供的功能通常非常有用:滚动、搜索、跳转、更改文件、运行命令等。您可能想要的是绕过寻呼机以获得短输出。
git
不提供此功能,但某些寻呼机提供。例如,如果您使用 less
,您可以添加 -F, --quit-if-one-screen
选项 LESS
shell 配置中的环境变量:export LESS="--no-init --quit-if-one-screen"
这将使
less
如果整个输出可以显示在单个屏幕中,则自动退出。
关于git - 使 git log 产生命令输出 'inline',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43845851/