当我运行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