【发布时间】:2016-02-05 20:31:47
【问题描述】:
当我使用 Git Bash(Windows 版 Git)时,如果命令(如 git diff)的输出很短(我猜它小于终端的高度),它只会打印为输出,现在在 Babun (Cygwin)每个 Git 命令似乎都很少被查看,即使它是一行或完全是空的。 “Every”可能过于大胆,git status 没有。似乎其中一个中有一些预先捆绑的设置,而另一个没有,我不知道它是什么。
我怎样才能让 Git 表现得如此当有一个简短的输出时它不会使用 less 而只是输出它。
编辑: 在 git bash 中,我的 git 寻呼机是“less -x4”(用于 4 个宽度的制表符),没有 -F。此外,环境变量LESS、PAGER 和GIT_PAGER 为空。所以我不知道为什么 git bash 会这样,但幸运的是我得到了一些关于如何让 Babun (Cygwin) 启动的帮助。
后见之明更新:(这可能是错误的,请参阅 2017-01-12 注释。)我认为 Git For Windows 和/或默认终端在关闭时不会擦除屏幕 - - 我在其他不相关的地方看到了这种行为(关闭更少并且屏幕没有被擦除)所以我认为这就是正在发生的事情。为什么 Cygwin 和 mintty 终端会在 Windows 终端上进行擦除和 MINGW(或 Msys2?无论 Git For Windows 使用什么)都不会超出我的知识范围。
谷歌搜索后的后见之明更新:事实证明,上述启示足以让谷歌找到解决方案!我现在就发。
2017-01-12: 看起来它没有准确擦除它因为 LESS 未设置。根据man git config...
core.pager [...] When the LESS environment variable is unset, Git sets it to FRX (if LESS environment variable is set, Git does not change it at all). If you want to selectively override Git’s default setting for LESS, you can set core.pager to e.g. less -S. This will be passed to the shell by Git, which will translate the final command to LESS=FRX less -S. [...]
【问题讨论】:
-
你的问题是什么?
-
@Code-Apprentice 我已经对其进行了编辑,以便更明确地提出我的要求,谢谢!
-
特别是看到这个答案:stackoverflow.com/a/14118014/1440565
-
@Code-Apprentice 不是那个 question 的副本(我仍然想要一个寻呼机)但是你链接的答案绝对是我想要的,不知何故我错过了那六个几个月前:)
-
只需在 .bashrc 中设置:export LESS='-F -X $LESS'
标签: git