是否有一个命令行开关可以传递给gitdiff和其他默认使用较少寻呼机的命令?我知道这些方法存在:
git diff | cat。。。删除所有语法突出显示gitconfig--global core.pager cat将global.gitconfig中的寻呼机设置为cat导出GIT_PAGER=猫
但我更喜欢命令行开关。
是否有一个命令行开关可以传递给gitdiff和其他默认使用较少寻呼机的命令?我知道这些方法存在:
git diff | cat。。。删除所有语法突出显示gitconfig--global core.pager cat将global.gitconfig中的寻呼机设置为cat导出GIT_PAGER=猫
但我更喜欢命令行开关。
当前回答
--Git的任何寻呼机都不会告诉它不要使用寻呼机。如果输出适合单个屏幕,则将选项-F传递给less将告诉它不要分页。
用法:
git --no-pager diff
评论中的其他选项包括:
# Set an evaporating environment variable to use 'cat' for your pager
GIT_PAGER=cat git diff
# Tells 'less' not to paginate if less than a page
export LESS="-F -X $LESS"
# ...then Git as usual
git diff
其他回答
这对我来说在Linux上使用Git版本2.1.4是有效的:
git config --global --replace-all core.pager cat
这使得Git使用cat而不是更少。cat只是将diff的输出转储到屏幕上,而没有任何分页。
对于我写的一个快速而肮脏的脚本,我是这样做的:
PAGER=cat git diff ...
我很惊讶我还没有看到这个答案,但很简单:
PAGER= git diff ...
附录A:我使用的是macOS,使用的是zsh,不确定这是否会改变什么。附录B:正如其他人所指出的,如果您想将其用作脚本或不受控制的环境的一部分(可能设置$GIT_PAGER),那么这不是最佳解决方案。
关于管道时禁用的颜色:
使用--color可避免禁用着色。
git diff—颜色|更少-R
或者强制配置(例如.gitconfig):
[color]
ui = on
git diff |小于-R
对于非彩色工具,请使用:
gitdiff--无颜色|一些基本工具
导出环境变量LESS=-R(在例如.bashrc中)默认情况下在“LESS”中启用颜色支持:
git diff|更少
对于Windows,它是:
git config --global core.pager ""
这将关闭git中所有内容的分页,包括git分支中的超级烦人的分页。