我正在尝试让 Windows 版 git 在 Windows 版 git 附带的 mingw bash 和我的 cygwin 终端中以相同的方式运行。
现在,我无法让 core.pager(它决定溢出屏幕的命令是否被分页)同时对两者进行操作。
如果我使用git config --global core.pager less
,它在 mingw64 中可以正常工作,但在 cygwin 中却不行,尽管路径中有 cygwin 版本的less
。在 cygwin 中,如果我将其设置为git config --global core.pager ''
我可以在 cygwin 中使用 让它工作 git config --global core.pager more
。这会破坏它在 mingw 中不起作用,因为它没有more
。
我甚至尝试复制 mingwless.exe
并命名它more.exe
,但当我这样做时,git 输出的所有颜色都乱七八糟。Git 一定很聪明,知道不同的分页器可以处理什么。
现在我可以通过在 cygwin 和 mingw 中使用不同的方法来解决这个问题~/.gitconfig
(我目前有一个从一个到另一个的符号链接),但这只是一个在它们最终不同步时才会发生的问题。
为什么 cygwin 不能less
在 Windows 上运行git
?
还有其他解决方法我可以尝试吗?
答案1
对于 Cygwin 的问题,您可以使用此解决方案安装缺少的命令:
https://stackoverflow.com/a/11752133/4654241
这应该会为您提供有关 Cygwin 的更多和更少的信息。
至于如何在 Windows 命令提示符和 git-bash.exe 窗口之间进行 less/more 工作,我使用由Unx工具类并将其添加到我的路径中。
然后,使用 Windows 的 git-bash.exe 设置的路径将使用随 Git 安装的默认路径,Windows 命令提示符将使用 Windows UnxUtils 版本的 less。