【问题标题】:Always use the pager for git diff始终使用寻呼机进行 git diff
【发布时间】:2012-09-03 08:10:58
【问题描述】:

我使用less 作为我的 Git 寻呼机。

如果git diff 输出在一页上可读,我的 Git 会将输出打印到屏幕上。

有时我输入 Ctrl + D(向下半页)太快,这会杀死我的终端。是否有一个选项可以为git diff 启用寻呼机,即使输出非常小?

这不起作用:

  • git -p diff
  • git --paginate diff
  • git 设置:pager.diff = true

【问题讨论】:

标签: git git-diff git-config


【解决方案1】:

这由-F (--quit-if-one-screen) 选项控制到更少。

如果$LESS$GIT_PAGER 环境变量没有指定,Git 默认使用选项FRSX for/of less。要更改它,请指定core.pager 选项并将其设置为RSX

git config --global core.pager 'less -+F'

旧版本的 Git 曾经在其文档中推荐以下内容:

git config --global core.pager 'less -+$LESS -RSX'

【讨论】:

  • git 默认不使用 FRSX。我怀疑您是从环境变量LESSGIT_PAGER 中获取这些默认值,这表明了另一种(imo 更简单)的解决方案。即,确保F 不会出现在LESSGIT_PAGER 中。如果 PAGER 和 GIT_PAGER 未设置时 git 确实使用默认值,那会让我感到惊讶,但也许我错了。文档?
  • @WilliamPursell:Git 文档最近已更新,以更向后兼容的方式禁用选项。我的代码是直接从(旧)手册页复制而来的——我现在已经更新了。该文档还写道»如果未设置,Git 将 LESS 变量设置为 FSRX«
  • @Leonmax: git help config
  • 可能需要添加“-r”以启用对 ANSI 颜色的解释。
  • 您可能还需要-c,这会导致输出始终从顶部开始并填满屏幕。
猜你喜欢
  • 1970-01-01
  • 2011-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-06
  • 2017-07-30
  • 2013-02-14
相关资源
最近更新 更多