Windows下Git调用less.exe执行过慢及报错问题求助
解决域环境WiFi下Git命令(依赖less分页器)慢/报错问题
问题背景
在加入域的Windows电脑上,连接WiFi时执行git config --list、git branch、git push、git pull这些命令速度极慢,甚至抛出less.exe相关错误,但git add、git commit等命令正常。使用--no-pager参数可临时规避,但直接运行less.exe仍有问题。
核心原因
less.exe在域环境WiFi下,尝试解析Git安装路径时会和域控制器进行权限交互,WiFi网络延迟导致超时或报错(errno 1通常与路径访问权限/解析失败相关)。
解决方案
1. 全局禁用Git分页器(最简单直接)
直接让Git跳过分页器输出,彻底避免less的问题:
git config --global core.pager ""
执行后所有Git命令会直接输出结果,不再调用less,速度恢复正常。
2. 替换Git分页器为其他工具
如果仍需要分页功能,可将分页器换成Windows原生的more:
git config --global core.pager "more"
3. 修复less.exe本身的问题(保留less的情况下)
方法一:设置LESSSECURE环境变量
该变量会让less跳过部分安全检查,避免不必要的域控制器交互:
- 临时生效(当前PowerShell会话):
$env:LESSSECURE=1 - 永久生效:
打开「系统属性」→「高级」→「环境变量」,新增系统变量LESSSECURE,值设为1。
方法二:替换Git自带的less.exe
下载独立的Windows版less(如官方Win32发行版),备份Git安装目录下的C:\Users\gautamj\AppData\Local\Programs\Git\usr\bin\less.exe后,将新下载的less.exe替换进去。
4. 域环境网络优化
- 检查WiFi的DNS设置,确保域控制器地址能正常解析,减少路径访问时的DNS查询延迟;
- 确认本地用户对Git安装目录拥有「完全控制」权限,避免权限验证时与域控制器交互超时。
验证
执行git branch或git config --list,观察是否不再报错且速度恢复;直接运行echo test | less.exe,测试less本身是否正常工作。
内容的提问来源于stack exchange,提问作者Gautam J
相关产品推荐
相关产品推荐

