当我执行git branch
命令时,会发生以下情况(在Windows 10上使用PowerShell):
> git branch
error: cannot spawn more: No such file or directory
develop
* feat/sticky
这似乎并不能阻止Git正常运行,但是我很好奇为什么会发生此错误。
答案 0 :(得分:4)
您似乎已将Git配置为使用命令more
作为 pager 。但是命令more
不存在,因此当Git尝试使用它时,该命令将失败。结果是您的Git在没有寻呼机的情况下运行,就像您在运行git --no-pager branch
而不是仅运行git branch
一样。
pager 的概念可以追溯到非窗口系统计算机终端的时代,该终端仅一次显示例如24行文本,通常最多显示80列ASCII或类似限制的字符(没有什么像¡Hola!,¿que?这样的花哨)。如果您只能显示24行,但要显示30个分支名称,您将如何处理?
现代窗口系统具有滚动条等,但是我们仍然处在一个世界中,一次显示一个“页面”的输出很有用。传呼机将使文本适应您的窗口,一次一页。如今,流行的传呼机包括less
,它与more
类似,但比较豪华(请参阅其Wikipedia article)。一个好的传呼器还可以搜索和突出显示,这意味着如果某个命令的任何内置搜索和/或突出显示功能不够好(或不存在),只需通过传呼器运行该命令的输出即可扩充该命令,从而使它现在具有非常漂亮的搜索和突出显示。
某些系统现在带有more
程序,实际上它只是less
的一种模式。 See also this SuperUser post about more
and less
。
答案 1 :(得分:0)
试试这个,它对我有用:
git config --global core.pager '\"C:\Windows\System32\more.com\"'