GIT便携式 - 警告终端不完全功能



某些命令,例如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适用于所有事物...

最新更新