我最近安装了一个新的 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 --no-ext-diff
但我确信有更干净的解决方案可以更好地在 git diff 之间进行选择,因此使用普通补丁或 git diff 不是因此做的事情。