[英]Disable “buffered view” when display 'git' commands results
我刚刚切换到新的(已配置)开发箱。
现在, git
行为有所不同,其中包含一些命令。
之前 (在另一台机器上)键入git log
我在终端中获取了提交列表。 因此,我可以随意向上滚动并复制/粘贴SHA。
现在 (在新计算机上)在键入git log
我在终端中获得了一个新缓冲区,在其中显示了提交。 现在,我必须按Q 退出/退出结果显示。 之后,缓冲区被清除,我回到终端,但是我没有任何记录/缓冲的结果。 所以我不能向上滚动查看命令的结果。
更明确地说,现在许多git
命令( diff
, log
, reflog
, show
等)的行为类似于vim
或man
,其中命令的输出位于单独的缓冲区中,用户明确需要退出此视图才能返回到外壳 。
那是某种git
配置吗? 也许是指定的默认编辑器? 还是手术系统设置?
我无法找到解决此问题的信息(或用于搜索信息的正确关键字)。
我希望这对其他人有用(并且使用非特定的搜索关键字更容易找到!)。 解决方案似乎是关于设置git
的寻呼机 。
分页器是用于显示git
命令输出的命令。
就我而言,尝试运行:
git config -l
没有向我显示当前设置的任何证据。 但是,从以前的版本来我只是假设寻呼机的默认值已更改为东西从不同的less
最近。 对于新的寻呼机,按Q后将清除屏幕,不允许终端缓冲区保持输出结果。
无论如何,我对旧的寻呼机比较满意: less
,或者根本没有寻呼机。
所以我用命令重置它:
git config --global core.pager ''
这将不使用分页器,并且始终在外壳中显示输出,从而允许您向上滚动并复制/粘贴/检查git
命令输出的任何部分。 但是用git log
不好,因为它将向下滚动到列表的末尾并显示最近的提交。
因此,(对我而言)理想的解决方案是将其设置为less
, 但另外,我还必须向其传递一些选项来定义所需的确切行为; 所以现在从顶部开始显示列表,然后可以向上滚动并查看输出的所有内容。
我使用的最终命令是:
git config --global core.pager 'less -FRSX'
(如本Atlassian文档页面的“ 更好的寻呼机默认值 ”部分中所述 )
这些设置的基本要素是-X
,可以防止清除屏幕。 -R
允许保持彩色输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.