git 没有特定命令的寻呼机
Posted
技术标签:
【中文标题】git 没有特定命令的寻呼机【英文标题】:git no pager for specific commands 【发布时间】:2013-08-08 12:56:19 【问题描述】:我意识到您可以使用git --no-pager <command>
来防止输出通过寻呼机运行。我也意识到你可以使用,例如,git config --global core.pager cat
。
但是有一些命令我确实想自动使用寻呼机,例如diff
,以及其他我不知道的地方,例如stash
。每次输入--no-pager
效率不如我所愿。
有没有办法为单个命令设置这样的配置?作为替代方案,是否可以在不使用别名的情况下调用stash
时让zsh
自动插入--no-pager
?
【问题讨论】:
相关,但不重复,因为它只涉及stash
,而不是一般的所有命令:Turning off the pager in git for the stash command only。
【参考方案1】:
作为this answer points out,您可以使用pager.stash false
关闭stash
的分页:
git config --global pager.stash false
更一般地,您可以将pager.<command>
与其他命令一起使用,例如diff
git config --global pager.<command> false
git config --global pager.diff false
来自official Linux Kernel Git documentation for git config
:
pager.<cmd>
如果该值为布尔值,则在写入 tty 时打开或关闭特定 git 子命令的输出分页。否则,使用
pager.<cmd>
的值指定的分页器为子命令打开分页。如果在命令行中指定了--paginate
或--no-pager
,则优先于该选项。要禁用所有命令的分页,请将core.pager
或GIT_PAGER
设置为cat
。
【讨论】:
【参考方案2】:您可以使用 Git 别名:
git config --global alias.nop-stash "stash --no-pager"
【讨论】:
这似乎不起作用。stash --no-pager
生成错误,--no-pager stash
抱怨别名更改了环境变量(这实际上是我 想要 做的......嗯
要了解为什么会产生错误,请参阅Turning off the pager in git for the stash command only。以上是关于git 没有特定命令的寻呼机的主要内容,如果未能解决你的问题,请参考以下文章