使用“less”的“git分支”是最近的更改吗?或者最近“less”的行为有所不同?

使用“less”的“git分支”是最近的更改吗?或者最近“less”的行为有所不同?

对模糊的标题表示歉意。

我经常git branch全天执行,似乎在最近的某个时刻(也许是在过去的一个月?)行为发生了变化。我记得以前git branch会打印分支列表并立即返回提示 - 但现在似乎正在打印分支之内lessEsc,并要求我在返回命令提示符之前按下。

我不确定这是否是对其本身的更改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 终止时,此更改将被恢复并且正常行为将恢复。

相关内容