每个命令重置外部差异工具

问题描述 投票:0回答:1

我最近安装了一个新的 diff 工具(difftastic),这扰乱了我将 diff 复制到剪贴板(或文件)以发送这些内容的习惯:

[diff]
    external = difft # As per https://difftastic.wilfred.me.uk/git.html
                                | what I want | what I get |
                                | ----------- | ---------- |
$ git diff                      | difft       | difft      |
$ git diff > some-file          | git diff    | difft      |
$ GIT_EXTERNAL_DIFF= git diff   | git diff    | error      |

我的最终目标是拥有一个命令,我可以向其传递常用的 git diff 参数并获取原始命令(基本上类似于

git diff --internal

最终我会向上游提供一个 PR 修复(例如,如果通过管道传输,difftastic 默认使用 git),但我几乎可以肯定我没有正确理解 git 的

diff.external
difftool*
配置。我不知道如何重置
diff.external
每个命令

git diff git-config git-difftool
1个回答
1
投票

由于马特对问题的评论,我找到了部分解决方案:

git diff --no-ext-diff

但我确信有更干净的解决方案可以更好地在 git diff 之间进行选择,因此使用普通补丁或 git diff 不是因此做的事情。

© www.soinside.com 2019 - 2024. All rights reserved.