【问题标题】:Git diff: Write output and exit instead of interactive modeGit diff:写入输出并退出而不是交互模式
【发布时间】:2014-02-20 07:50:31
【问题描述】:

当我在 OSX 命令行上运行 git diff 时,输出显示在 lessvim 界面中。该界面让我可以上下滚动,并使用 q 键退出。

这很烦人,尤其是当没有 diff 并且 git 打开一个空白屏幕时。

我可以在不进入交互模式的情况下只写屏幕的差异(颜色)输出吗?

【问题讨论】:

标签: macos git diff interactive-mode


【解决方案1】:

使用--no-pager 选项禁用交互式寻呼机。

用法:git --no-pager diff(注意它不是特定于 git-diff,所以它可以与任何 git 命令一起使用!)

文档:https://git-scm.com/docs/git

复制自https://stackoverflow.com/a/2183920/2221472

【讨论】:

    【解决方案2】:

    你也可以使用:

    git diff --exit-code
    

    【讨论】:

    • +1 有没有办法将此配置为git diff 的标准行为?
    【解决方案3】:

    是的。使用:

    git diff --color | cat
    

    --color 是必需的,因为默认情况下,如果 stdout 不是 tty(支持颜色),git 不会输出颜色。

    【讨论】:

      【解决方案4】:

      我在一些带有 'diff' 和 'grep' 的 Makefile 中使用它:

      GIT_PAGER= git diff
      

      【讨论】:

        猜你喜欢
        • 2018-01-07
        • 1970-01-01
        • 1970-01-01
        • 2013-06-09
        • 2019-08-22
        • 2018-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多