如何禁用 git 中的寻呼机,仅针对具有仅名称选项的差异?
How to disable pager in git only for diff with name-only option?
我需要 git diff
使用寻呼机,而 git diff --name-only
不需要。
已经尝试 git config --global pager.diff.name-only false
但没有成功。
所需的行为类似于 git --no-pager diff --name-only
。但是我不想每次都输入--no-pager
。
是否有任何配置或别名可以做到这一点?
您可以创建一个别名:
[alias]
ndiff = !git --no-pager diff --name-only
然后 运行 git ndiff
而不是 git diff --name-only
。或者,将 --no-pager
部分保留在别名和 运行 git ndiff --name-only
之外,其中 ndiff
代表 no-pager-diff。
或者,您可以 运行 git diff-tree
或 git diff-files
或 git diff-index
而不是 git diff
。这三个命令是 管道命令 后端,git diff
用于(大部分)其各种操作模式。 None 其中使用寻呼机,其中大多数需要额外的选项(例如,-r
)才能像 git diff
运行 一样使用它们,但它们确实存在并且是编写 脚本 的正确方法。对于您自己的别名,无需使用管道命令;你自己的别名可以调用 git --no-pager diff <options>
.
我需要 git diff
使用寻呼机,而 git diff --name-only
不需要。
已经尝试 git config --global pager.diff.name-only false
但没有成功。
所需的行为类似于 git --no-pager diff --name-only
。但是我不想每次都输入--no-pager
。
是否有任何配置或别名可以做到这一点?
您可以创建一个别名:
[alias]
ndiff = !git --no-pager diff --name-only
然后 运行 git ndiff
而不是 git diff --name-only
。或者,将 --no-pager
部分保留在别名和 运行 git ndiff --name-only
之外,其中 ndiff
代表 no-pager-diff。
或者,您可以 运行 git diff-tree
或 git diff-files
或 git diff-index
而不是 git diff
。这三个命令是 管道命令 后端,git diff
用于(大部分)其各种操作模式。 None 其中使用寻呼机,其中大多数需要额外的选项(例如,-r
)才能像 git diff
运行 一样使用它们,但它们确实存在并且是编写 脚本 的正确方法。对于您自己的别名,无需使用管道命令;你自己的别名可以调用 git --no-pager diff <options>
.