对模糊的标题表示歉意。
我经常git branch
全天执行,似乎在最近的某个时刻(也许是在过去的一个月?)行为发生了变化。我记得以前git branch
会打印分支列表并立即返回提示 - 但现在似乎正在打印分支之内less
Esc
,并要求我在返回命令提示符之前按下。
我不确定这是否是对其本身的更改git branch
,或者可能是我的默认less
标志 - 或者可能是其他一些因素。
我观察到了这一点:
- Debian Bullseye,git 2.30.2
- macOS Montegery,git 2.34.1
在这两种情况下,less
我都没有自定义默认标志,它们是:
LESS="-g -i -M -R -S -w -X -z-4"
在任何 git 存储库中运行git branch
都会按预期打印分支,并lines 1-X/X (END)
在控制台底部显示 less 的摘要。按下将h
显示less
帮助提示——确认less
正在使用它。
这是最近的变化吗?是否有一个 git 选项来避免使用 less - 或者一个less
选项/标志让它在数据少于一屏时自动退出?
答案1
git branch
从 2.16 版本开始默认使用寻呼机。
您可以通过更改来配置它pager.branch
,例如
git config --global pager.branch false
或者临时添加-P
( --no-pager
) 选项。
less
如果要求显示的数据适合单个屏幕,则确实有退出选项-F
。当LESS
环境变量为不是set,git
将其设置为FRX
默认值,其中包括此行为。
答案2
我git branch -avv
经常在 emacs shell windows 下使用。上述解决方案是永久性的。如果您正在寻求临时解决方案,可以export PAGER=cat
在 shell 中执行,并且 git 分支将使用 cat 而不是 less。当您当前的 shell 终止时,此更改将被恢复并且正常行为将恢复。