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

9
当我执行git branch命令时,在Windows 10上使用PowerShell,会发生以下情况:
> git branch
error: cannot spawn more: No such file or directory
  develop
* feat/sticky

这似乎不会影响Git的正常运行,但我很好奇为什么会发生这个错误。

4个回答

9
看起来你已经配置了Git以使用命令more作为你的“分页器”。但是命令more不存在,因此当Git尝试使用它时会失败;其结果是你的Git运行时没有分页器,就好像你运行了git --no-pager branch而不是只运行git branch一样。

分页器

“分页器”的概念可以追溯到无窗口系统的计算机终端时代,那个时候只能一次显示24行文本,通常最多只有80列ASCII或类似受限制字符(没有像¡Hola!¿que?这样的花哨字符)。如果你只能显示24行,但却有30个分支名称要显示,你将如何处理呢?

现代的窗口系统有滚动条等功能,但我们仍然生活在一个一次显示一个“页面”输出很有用的世界中。分页器将文本适应您的窗口大小,一页一页地显示。现在流行的分页器包括less,它就像more,但更加花哨(请参阅其维基百科文章)。一个好的分页器还可以搜索和突出显示,这意味着如果任何内置的搜索和/或突出显示某个命令不够好或不存在,只需通过分页器运行该命令的输出即可增强该命令,使其具有非常花哨的搜索和突出显示功能。

现在一些系统带有一个more程序,它实际上只是less的一种模式。请参阅这篇关于moreless的SuperUser文章


6
在Windows上,请使用:
git config --global core.pager ""

因为Windows终端本身支持垂直和水平滚动。 more 的默认设置在老旧的Linux终端(没有水平滚动)或20世纪80年代的终端上更有用,这些终端没有任何滚动功能。然而,它也可以阻止你的窗口被垃圾填满,因此一些Windows发行版也应用了它。它们可能随着终端仿真器的支持 more 而提供,但是当你在终端外使用git时就会出现错误。如果你真的想使用它,你可以找到一个 more.exe(例如来自Cygwin),并将路径设置为那个程序。

3
git config --global core.pager '""'

做到了。

1
尝试一下这个,它对我有效:

git config --global core.pager '\"C:\Windows\System32\more.com\"'

1
这个工作正常运行,没有周围的转义双引号 \" - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接