git 错误:无法生成更多:没有这样的文件或目录

桔子2*_*032 3 git

当我执行git branch命令时,会发生以下情况(在 Windows 10 上使用 PowerShell):

> git branch
error: cannot spawn more: No such file or directory
  develop
* feat/sticky
Run Code Online (Sandbox Code Playgroud)

这似乎不会阻止 Git 正常运行,但我很好奇为什么会发生此错误。

tor*_*rek 8

看起来您已将 Git 配置为使用该命令more作为寻呼机。但是该命令more不存在,所以当 Git 尝试使用它时,失败了;结果是您的 Git 在没有寻呼机的情况下运行,就好像您已经运行git --no-pager branch而不仅仅是git branch.

寻呼机

寻呼机的概念可以追溯到非窗口系统计算机终端的时代,它只显示一次 24 行文本,通常最多 80 列 ASCII 或类似的限制字符(没有什么特别像¡Hola!¿que?)。如果您只能显示 24 行,但要显示 30 个分支名称,您将如何处理?

现代窗口系统具有滚动条等,但我们仍然存在于一次显示一页输出很有用的世界。寻呼机将调整文本以适应您的窗口,一次一页。现在流行的寻呼机包括less,它看起来more更高级(参见它的维基百科文章)。一个好的寻呼机还可以搜索和突出显示,这意味着如果某些命令的任何内置搜索和/或突出显示不够好 - 或者不存在 - 只需通过寻呼机运行该命令的输出即可增强命令,以便它现在具有非常花哨的搜索和突出显示。

一些系统现在附带的more程序实际上只是less. 另请参阅这篇关于more和的超级用户帖子less


c z*_*c z 6

在 Windows 上,使用:

git config --global core.pager ""
Run Code Online (Sandbox Code Playgroud)

因为Windows终端本身就支持垂直和水平滚动。

默认值more在较旧的 Linux 终端(没有水平滚动)或 20 世纪 80 年代的终端(没有任何滚动)上更有用。但是,它还可以阻止您的窗口被垃圾填满,因此即使某些 Windows 发行版也会应用它。他们可能附带了支持 的终端模拟器more,但是当您在该终端之外使用 git 时,您会收到此错误。more.exe如果您确实想使用它,您可以找到一个(例如来自 Cygwin)并设置该路径。