当我执行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 正常运行,但我很好奇为什么会发生此错误。
看起来您已将 Git 配置为使用该命令more作为寻呼机。但是该命令more不存在,所以当 Git 尝试使用它时,失败了;结果是您的 Git 在没有寻呼机的情况下运行,就好像您已经运行git --no-pager branch而不仅仅是git branch.
寻呼机的概念可以追溯到非窗口系统计算机终端的时代,它只显示一次 24 行文本,通常最多 80 列 ASCII 或类似的限制字符(没有什么特别像¡Hola!,¿que?)。如果您只能显示 24 行,但要显示 30 个分支名称,您将如何处理?
现代窗口系统具有滚动条等,但我们仍然存在于一次显示一页输出很有用的世界。寻呼机将调整文本以适应您的窗口,一次一页。现在流行的寻呼机包括less,它看起来more更高级(参见它的维基百科文章)。一个好的寻呼机还可以搜索和突出显示,这意味着如果某些命令的任何内置搜索和/或突出显示不够好 - 或者不存在 - 只需通过寻呼机运行该命令的输出即可增强命令,以便它现在具有非常花哨的搜索和突出显示。
一些系统现在附带的more程序实际上只是less. 另请参阅这篇关于more和的超级用户帖子less。
在 Windows 上,使用:
git config --global core.pager ""
Run Code Online (Sandbox Code Playgroud)
因为Windows终端本身就支持垂直和水平滚动。
默认值more在较旧的 Linux 终端(没有水平滚动)或 20 世纪 80 年代的终端(没有任何滚动)上更有用。但是,它还可以阻止您的窗口被垃圾填满,因此即使某些 Windows 发行版也会应用它。他们可能附带了支持 的终端模拟器more,但是当您在该终端之外使用 git 时,您会收到此错误。more.exe如果您确实想使用它,您可以找到一个(例如来自 Cygwin)并设置该路径。
| 归档时间: |
|
| 查看次数: |
951 次 |
| 最近记录: |