相同分支之间的Git差异返回奇怪的输出

时间:2014-04-20 13:22:48

标签: git git-diff

当我git diff 2个相同的分支,甚至是同一个分支时,我得到以下输出:

lines ?-?/? (END)

我不确定此消息的重要性或解决方法。到目前为止,我一直忽视它,但我不喜欢它。造成这种情况的原因是什么?如何解决?

1 个答案:

答案 0 :(得分:0)

默认情况下,

git diff使用less作为其寻呼机。通常情况下,在按 q 之前,less将始终保持打开状态。如果没有更少的东西可以显示,它默认为你看到的输出,直到它退出。

从较少的手册页:

  

-F或--quit-if-one-screen

     

如果整个文件可以显示在第一个屏幕上,则会导致自动退出。

-F添加到less的命令行选项会使git diff只返回shell提示符,如果没有要显示的更改。有几种方法可以做到这一点:

  1. -F添加到LESS环境变量

    • 如果使用bash,则可以通过添加~/.bashrc来修改~/.bash_profileexport LESS="-F",或者如果此行已存在,则可以将-F添加到参数列表中。
    • 您可以创建一个less.sh文件,并将其放在/etc/profile.d/中,使用相同的东西(`export LESS =" -F")
  2. 您可以使用少于别名的命令来添加选项:

    • alias less='less -F'添加到您的~/.bashrc~/.bash_profile
    • 此方法可能会或可能不会直接与git diff(未经测试)
    • 一起使用
  3. 不完全相关但仍然相关:如果您要将-F添加到您的LESS选项中,我还建议您添加-R -X -I。您可以在较少的手册页中阅读有关它们的内容,但只需说它们就更少了一些。