是否有一个命令行开关可以传递给gitdiff和其他默认使用较少寻呼机的命令?我知道这些方法存在:

git diff | cat。。。删除所有语法突出显示gitconfig--global core.pager cat将global.gitconfig中的寻呼机设置为cat导出GIT_PAGER=猫

但我更喜欢命令行开关。


当前回答

请遵循以下说明。

只需在终端中键入vi~/.gitconfig。粘贴LESS=“-F-X$LESS”行。按:wq并输入。重新启动终端。

其他回答

这对我来说在Linux上使用Git版本2.1.4是有效的:

git config --global --replace-all core.pager cat

这使得Git使用cat而不是更少。cat只是将diff的输出转储到屏幕上,而没有任何分页。

您还可以在全局配置中禁用/启用特定输出的寻呼机:

git config --global pager.diff false

或者要设置core.pager选项,只需提供一个空字符串:

git config --global core.pager ''

在我看来,这比你说的那样把它设置成猫要好。

我很惊讶我还没有看到这个答案,但很简单:

PAGER= git diff ...

附录A:我使用的是macOS,使用的是zsh,不确定这是否会改变什么。附录B:正如其他人所指出的,如果您想将其用作脚本或不受控制的环境的一部分(可能设置$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

正如mangit上所说的那样,您可以在任何命令上使用--无寻呼机。

我用在:

git --no-pager diff
git --no-pager log --oneline --graph --decorate --all -n 10

然后使用别名以避免使用(和记住)长命令。