某些命令,例如git log
在屏幕上产生预期输出之前会产生令人讨厌的错误消息。错误消息看起来像这样:
C:CNC>git log
WARNING: terminal is not fully functional
- (press RETURN)commit 5d2076175b...
现在让我将这个问题与类似问题区分开来,并显示我已经尝试过的内容。
我在Windows上使用Git Portable;版本2.22.0.Windows.1
Windows 10,版本10.17763
我不使用git-bash,也是为了这个问题,假设是不可能的。我特别要求使用git-cmd.exe。
我在计算机上没有管理员访问。其他问题让人们设置环境变量
set TERM=msys
。我可以在我的用户配置文件下进行此操作,但不能在系统级别上进行。我已经在用户级别设置了术语,但不能解决问题。
我只使用git Portable Edition,看不到此问题。
vonc@VONCA D:git
> git version
git version 2.21.0.windows.1
我确实推荐了2014年的set TERM=msys
,但现在不需要(2019(。
在常规CMD会话中使用git时,检查问题是否持续:
set PATH=C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem
set GIT_HOME=C:PathtoGit
set PATH=%GIT_HOME%;%GIT_HOME%bin;%GIT_HOME%usrbin;%GIT_HOME%mingw64bin;%PATH%
git log
git-for-windows/git
第1572期提及:
警告消息不是来自
git
,而是来自less
,该警告消息由git
。如果将
less -d
指定为pager
,则不会警告您的终端:
$ less --help | grep -A 1 dumb
-d ........ --dumb
Dumb terminal.
您可以配置以下:
git config --global core.pager "less -d"
您也可以使用:
git config --global core.pager "TERM=cygwin less"
。
这将为您提供更有功能的Pager。另一个解决方案是创建一个批处理文件:
$ cat less.bat @set TERM= @less.exe %*
并将其用作打印机:
git config --global core.pager "/c/path/to/batch/less.bat".
在我的情况下,升级我的旧 Windows 7 桌面到 Windows 10 ,并发现TERM
系统变量已被Strawberry添加perl并设置为dumb
几十年前。
因此,从Windows 10 environment variables
设置修复此问题的情况下,请删除TERM
系统变量,而无需任何更新。
现在,类型echo $TERM
显示的默认值:xterm-256color
适用于所有事物...