是否有一个命令行开关可以传递给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=猫
但我更喜欢命令行开关。
当前回答
正如mangit上所说的那样,您可以在任何命令上使用--无寻呼机。
我用在:
git --no-pager diff
git --no-pager log --oneline --graph --decorate --all -n 10
然后使用别名以避免使用(和记住)长命令。
其他回答
我很惊讶我还没有看到这个答案,但很简单:
PAGER= git diff ...
附录A:我使用的是macOS,使用的是zsh,不确定这是否会改变什么。附录B:正如其他人所指出的,如果您想将其用作脚本或不受控制的环境的一部分(可能设置$GIT_PAGER),那么这不是最佳解决方案。
您还可以在全局配置中禁用/启用特定输出的寻呼机:
git config --global pager.diff false
或者要设置core.pager选项,只需提供一个空字符串:
git config --global core.pager ''
在我看来,这比你说的那样把它设置成猫要好。
对于我写的一个快速而肮脏的脚本,我是这样做的:
PAGER=cat git diff ...
这对我来说在Linux上使用Git版本2.1.4是有效的:
git config --global --replace-all core.pager cat
这使得Git使用cat而不是更少。cat只是将diff的输出转储到屏幕上,而没有任何分页。
Use
git config --global core.pager cat
为所有存储库删除所有命令的寻呼机。
您还可以使用寻呼机禁用单个Git子命令的分页<cmd>setting而不是core.pager,并且您可以更改每个Git存储库的设置(省略--global)。
请参阅man git配置并搜索寻呼机<cmd>了解详细信息。