是否有一个命令行开关可以传递给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=猫
但我更喜欢命令行开关。
当前回答
Use
git config --global core.pager cat
为所有存储库删除所有命令的寻呼机。
您还可以使用寻呼机禁用单个Git子命令的分页<cmd>setting而不是core.pager,并且您可以更改每个Git存储库的设置(省略--global)。
请参阅man git配置并搜索寻呼机<cmd>了解详细信息。
其他回答
与此相关,如果设置了默认的寻呼机,并且希望创建使用不同寻呼机的别名,则可以使用-c选项将配置参数仅传递给一个命令。
例如,我将delta配置为我的默认git寻呼机,但我可以像这样创建一个lessdiff git别名,以便在需要使用less的情况下使用。
[alias]
lessdiff = -c core.pager=less diff
我的.gitconfig中有这个hunk,它似乎工作正常(diff和show都禁用):
[pager]
diff = false
show = false
对于Windows,它是:
git config --global core.pager ""
这将关闭git中所有内容的分页,包括git分支中的超级烦人的分页。
当我知道输出不是很长时,我喜欢不时禁用分页。为此,我发现了一个使用Git别名的妙招:
git config --global --add alias.n '!git --no-pager'
或者将以下内容添加到~/.gitconfig的[alias]部分:
n = !git --no-pager
这意味着您可以使用前缀n来关闭任何Git命令的分页,即:
git n diff # Show the diff without pager
git n log -n 3 # Show the last three commits without pager
git n show v1.1 # Show information about a tag
请遵循以下说明。
只需在终端中键入vi~/.gitconfig。粘贴LESS=“-F-X$LESS”行。按:wq并输入。重新启动终端。