什么是Git的命令行差异和日志查看器?

时间:2016-07-14 07:33:38

标签: git git-diff git-log

在终端中呼叫git loggit diff时,会使用某种查看器显示结果。我知道如何导航,退出和搜索关键字,但希望了解我实际在做什么。这个观众的名字是什么?这个观众的记录在哪里?

我知道编辑器会转到我的默认文本编辑器,但这个" viewer"似乎是另一回事。我一直在寻找它,但我不确定我是否正在使用正确的关键字进行搜索。

3 个答案:

答案 0 :(得分:3)

git的默认查看器是less。您可以通过设置more配置值将其更改为其他内容(例如code.pager)。 E.g:

$ git config --global core.pager more

您可以在Git Configuration documentation中找到更多信息。

答案 1 :(得分:1)

git使用less作为默认查看器,您可以查看manpage of less以查找如何在其中进行搜索。

答案 2 :(得分:1)

默认查看器为less

  

<强> core.pager

     

供Git命令使用的文本查看器(例如, less )。该值应由shell解释。首选项顺序是$GIT_PAGER环境变量,然后是core.pager配置,然后是$PAGER,然后是在编译时选择的默认值(通常 less )。< / p>      

当取消设置LESS环境变量时,Git将其设置为FRX(如果设置了LESS环境变量,Git根本不会更改它)。如果您想有选择地覆盖Git LESS的默认设置,您可以将core.pager设置为例如less -S。这将由Git传递给shell,它将最终命令转换为LESS=FRX less -S。环境不设置S选项但命令行设置,指示较少截断长行。同样,将core.pager设置为less -+F将从命令行停用环境指定的F选项,停用less的“退出,如果一个屏幕”行为。可以专门为特定命令激活一些标志:例如,将pager.blame设置为less -S只能为git blame启用行截断。

     

同样,当未设置LV环境变量时,Git会将其设置为-c。您可以通过将LV导出为其他值或将core.pager设置为lv +c来覆盖此设置。

https://git-scm.com/docs/git-config