为什么 git 不必要地运行 less?

为什么 git 不必要地运行 less?

当我运行git branch(从 bash 或 csh)时,它会自动通过管道输出less。然而,由于存储库中只有几个分支,这是不必要的,这很烦人,因为一旦我退出较少,分支列表就会消失。

检查~/.gitconfig文件和本地.git/config文件没有发现任何有关寻呼机或任何其他可能导致此问题的事情。除此之外,我在网络搜索中发现的任何内容都没有帮助或有希望。

为什么会发生这种情况,以及我可以做什么(如果有的话)less在需要时运行(例如,git log当有大量历史记录时执行 a 时)而不是其他情况下运行(例如git branch只有 2 或 3 个分支的 a )?

答案1

您可以设置以下内容:

git config --global core.pager 'less -FRX'

这将确保less

  • 如果整个文件可以在第一屏上显示则退出 ( F)
  • 输出终端格式化的原始控制字符 ( R)
  • 斩断长线 ( S)
  • 不要将 init/de-init 字符串发送到终端 - 避免在退出时清除屏幕 ( X)

编辑:S根据 Peter A. Scheider 的评论删除了该选项

答案2

这里有一些关于调整less行为的很好的答案,但是由于我的灰胡子手指习惯于|more在需要时打字,并且由于我仍然比 git 更适合 Mercurial,所以我热衷于

git config --global core.pager cat

相关内容