【问题标题】:Displaying git diff and git log output on a separate terminal screen在单独的终端屏幕上显示 git diff 和 git log 输出
【发布时间】:2019-01-30 23:34:52
【问题描述】:

在设置新的开发环境后,我遇到了一个奇怪的 git 行为,我不记得过去见过。

我习惯于git diff and git log 在终端中创建一个新屏幕并在其中显示它们的输出(默认情况下 less 会做什么,我将它用作我的寻呼机)。

然后我可以退出并回到我之前的终端状态,命令输出消失。然而,现在,输出会直接打印到同一个屏幕上,就好像它是 cat 一样(但带有寻呼机)。任何想法如何解决这一问题?在网上找不到任何信息。

更新: 通过将core.pager 设置为'less -+F -+X',能够在@torek 的帮助下解决此问题

【问题讨论】:

    标签: git git-diff git-log git-config


    【解决方案1】:

    您现在可能已将 less 设置为使用 -X,而之前您将 less 设置为 使用 -X

    请参阅 my answerHow to display output of `git branch` on-screen in same CLI terminal?。请注意,您也可以选择使用哪个寻呼机,和/或是否使用寻呼机。 (好吧,您在问题中提到了这一点。)

    【讨论】:

    • 嗯,确实是这样。但是如何关闭该选项?我的core.pager 仅设置为less -F,而$LESS$GIT_PAGER 环境变量未设置。
    • 顺便说一下,我的终端中启用了备用屏幕,其行为不像预期的那样。
    • 如果$LESS 没有 设置,Git 将其设置为-FRX,这将启用这三个选项。例如,您可以将core.pager 设置为less -F -+X,或者(我的偏好)将core.pager 设置为less 并将LESS 设置为-FR。后者将影响 less 的其他调用,同时设置 -F-R。 (Git 鬼鬼祟祟的“如果未设置,则设置 $LESS”的东西,嗯,鬼鬼祟祟。)
    【解决方案2】:

    检查PAGER 环境变量。这控制了各种程序使用哪些工具来分页输出。

    export PAGER=less
    git diff
    

    如果这对您有用,您可以根据您的操作系统以各种方式将其设置为永久环境变量。

    【讨论】:

      猜你喜欢
      • 2016-02-09
      • 1970-01-01
      • 2019-06-17
      • 2018-05-08
      • 2022-12-04
      • 2017-04-29
      • 2012-03-18
      • 2011-08-17
      • 2013-04-01
      相关资源
      最近更新 更多