【问题标题】:Git Portable - WARNING terminal is not fully functionalGit Portable - 警告终端功能不全
【发布时间】:2019-08-04 00:24:15
【问题描述】:

某些命令(例如git log)会在屏幕上产生预期的输出之前导致恼人的错误消息。错误信息如下所示:

C:\CNC>git log
WARNING: terminal is not fully functional
- (press RETURN)commit 5d2076175b...

现在让我将这个问题与类似问题区分开来,并展示我已经尝试过的内容。

  • 我在 Windows 上使用 git 便携版;版本 2.22.0.windows.1

  • Windows 10,版本 10.17763

  • 我没有使用 git-bash,为了这个问题,假设这是不可能的。我特别要求 git-cmd.exe 的解决方案。

  • 我的机器上没有管理员访问权限。其他问题有人们设置环境变量set TERM=msys。我可以在我的用户配置文件下执行此操作,但不能在系统级别执行此操作。我已经在用户级别设置了TERM,但是并没有解决问题。

【问题讨论】:

    标签: git


    【解决方案1】:

    我只用Git便携版,没看到这个问题。

    vonc@VONCA D:\git
    > git version
    git version 2.21.0.windows.1
    

    I did recommended set TERM=msys in 2014,但现在(2019 年)应该不需要。

    检查在常规 CMD 会话中在简化 PATH 中使用 Git 时问题是否仍然存在:

    set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
    set GIT_HOME=C:\Path\to\Git
    set PATH=%GIT_HOME%;%GIT_HOME%\bin;%GIT_HOME%\usr\bin;%GIT_HOME%\mingw64\bin;%PATH%
    
    git log
    

    git-for-windows/git issue 1572 提及:

    警告信息不是来自git,而是来自less,它被git用作默认寻呼机。

    如果您将less -d 指定为pager,less 将不会警告您的终端:

    $ 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"
    这将为您提供功能更强大的寻呼机。

    另一个解决方案是创建一个批处理文件:

    $ cat less.bat
    @set TERM=
    @less.exe %*
    

    并将其用作您的寻呼机:

    git config --global core.pager "/c/path/to/batch/less.bat".
    

    【讨论】:

    • 简化的 PATH 变量仍然存在。
    • @scottmwyant 这是一个普通的 CMD 还是像 Cmder 这样的模拟器?而且可能 Windows 10 17763 有点老了。我使用的是 1903,构建 18362。
    • 普通的旧 CMD。是的,可惜我两个月前刚从Win7升级到10...
    • @scottmwyant 然后在工作。我了解,我也在工作中使用 Windows 10 1710。但我没有这个问题。你能用set列出你的环境变量吗?
    • @scottmwyant 我看到您的简化路径缺少 mingw64\bin (我忘记了)。你能用C:\...\git\mingw64\bin重试吗?
    【解决方案2】:

    就我而言,将旧的 Windows 7 桌面升级到 Windows 10,发现 TERM 系统变量已被 Strawberry Perl 添加并设置为 @987654322 @几十年前。

    因此,从 Windows 10 中删除 TERM 系统变量 environment variables 设置可修复此问题,无需进一步更新。

    现在,输入 echo $TERM 显示默认值:xterm-256color 适用于所有内容...

    【讨论】:

      猜你喜欢
      • 2014-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      • 2015-08-11
      • 2022-07-25
      相关资源
      最近更新 更多