首页 > 解决方案 > 如何在 git 中禁用寻呼机,仅用于仅名称选项的差异?

问题描述

我需要git diff在不需要时使用寻呼机git diff --name-only

试过了git config --global pager.diff.name-only false还是不行。

所需的行为就像git --no-pager diff --name-only. 但我不想--no-pager每次都打字。

是否有任何配置或别名可以做到这一点?

标签: gitgit-diffgit-config

解决方案


您可以创建一个别名:

[alias]
    ndiff = !git --no-pager diff --name-only

然后运行git ndiff而不是git diff --name-only. 或者,将--no-pager部分排除在别名之外并运行git ndiff --name-onlyndiff代表 no-pager-diff。

或者,代替git diff,您可以运行git diff-treeorgit diff-filesgit diff-index。这三个命令是用于(大部分)其各种操作模式的管道命令后端。git diff这些都没有使用分页器,并且它们中的大多数都需要额外的选项(例如,-r)才能以与git diff运行它们相同的方式使用,但它们确实存在并且是编写脚本的正确方法。对于您自己的别名,无需使用管道命令;您自己的别名可以调用git --no-pager diff <options>.


推荐阅读