如何在Git别名中包含--no-pager?

时间:2011-02-23 02:21:31

标签: git terminal alias git-config

我根据EdgeCase的Git Immersion教程创建了一个Git别名,如下所示:

hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short

但是现在它似乎正在分页结果 - 显示结果后终端显示(END),迫使我点击 Q 继续工作。我通过添加--no-pager标记来阅读,您可以禁用此功能;如何将其合并到别名中?我在最后,log之前和之后尝试过它,但没有一个能够奏效。 Git抛出一个错误,说它是一个无法识别的参数,或者它改变了环境变量。有什么建议吗?

3 个答案:

答案 0 :(得分:18)

只需将其转换为shell命令即可轻松完成:

hist = "!git --no-pager log ..."

答案 1 :(得分:4)

注意:使用Git 2.18(2018年第二季度),别名可以使用--no-pager的较短选项:
" git --no-pager cmd"没有短而甜的单字母选项。现在确实如此。

别名现在可以是:

hist = "!git -P log ..."

commit 7213c28Johannes Sixt (j6t)(2018年5月3日) (由Junio C Hamano -- gitster --合并于commit c9aac55,2018年5月23日)

  

git:添加-P作为--no-pager

的简短选项      

可以配置寻呼机' less'以使用替代方案   屏幕显示内容,例如,通过设置LESS=RS   环境。
  在此配置中关闭时,它会切换回原始屏幕,所有内容都将消失。

     

请求输出保持可见的情况并不少见   终点站。为此,可以使用选项--no-pager   但即使命令完成,键入也有点麻烦   可用。
  提供一个简短的选项-P,以提供更多选项   容易到达。

答案 2 :(得分:0)

unrecognized option之后使用时, - no-pager选项会出现log错误,但是通过在日志之前放置--no-pager - “git --no-pager log .. ..“工作