【问题标题】:Prevent empty pager in 'git diff'防止'git diff'中的空寻呼机
【发布时间】:2016-07-05 13:41:04
【问题描述】:

当 git repo 中没有更改时,git diff 过去会立即返回而没有输出。从 git 2.9 开始,这样的git diff 命令会打开一个没有文本的less 类似窗口,我必须通过按q 手动关闭它。有没有办法恢复旧的git diff 行为?

编辑

标题已更改。

git 2.9 实际上是无关的,这种新行为是由于最近在我的环境中引入了LESS="-Ri"。我应该如何改变这个变量来实现我想要的?

【问题讨论】:

  • 与详尽的答案非常相关:stackoverflow.com/questions/2183900/…
  • alias git='LESS= git' 在 Bash 中运行交互式 git 命令,LESS 设置为空。适应将其设置为其他东西应该是显而易见的。也许alias git='LESS="-F${LESS#-}" git' 添加-F 但否则保留您的全局LESS 选项。

标签: git terminal


【解决方案1】:

尝试使用LESS="-RFi"

来自男人:

-F or --quit-if-one-screen
Causes less to automatically exit if the entire file can be displayed on the first screen.

如果您不想更改您的环境LESS 变量,您可以通过.gitconfig 将其归档:

[pager]
    log  = less -FRX
    diff = less -FRX
    show = less -FRX

【讨论】:

  • LESS="-RFi" 似乎可能会破坏,例如git show HEAD,但 .gitconfig 中的寻呼机选项工作正常,谢谢!
【解决方案2】:

如果你要求

git --no-pager diff

行为应该再次相同。

【讨论】:

  • 如果我想要寻呼机怎么办?我只是不想要一个空的,这可能吗?
  • @ital:我不太了解寻呼机。我会说这取决于。对不起。
猜你喜欢
  • 2011-01-12
  • 1970-01-01
  • 2012-09-03
  • 1970-01-01
  • 1970-01-01
  • 2017-07-30
  • 1970-01-01
  • 2013-02-14
  • 2021-03-03
相关资源
最近更新 更多