默认情况下,是否有要传递给git diff
和其他使用less
分页程序的命令行开关?
我知道我可以通过管道将其传递给cat,但这会删除所有的语法突出显示。
我知道我可以通过GITPAGER=cat
(或类似的东西)将全局.gitconfig中的寻呼机设置为cat;但我有时想要有寻呼机(取决于diff的大小)。
但是,如果有命令行开关,我会更喜欢;但是通过手册页,我找不到一个。
发布于 2010-02-02 20:25:34
--no-pager
to 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
发布于 2013-01-02 14:53:36
正如前面提到的答案,将-F
选项传递给less
会导致它在内容少于一个屏幕时退出。然而,在这样做之后,屏幕被重置,您最终看不到内容。
-X
选项消除了这种行为。因此,我使用以下内容来启用基于内容数量的条件分页:
git config --global --replace-all core.pager "less -F -X"
发布于 2011-08-09 01:43:57
使用
git config --global core.pager cat
为所有存储库的所有命令去掉一个分页。
您还可以通过使用pager.<cmd>
设置而不是core.pager
来禁用单个Git子命令的分页,并且您可以更改每个Git存储库的设置(省略--global
)。
有关详细信息,请参阅man git-config
并搜索pager.<cmd>
。
https://stackoverflow.com/questions/2183900
复制相似问题