`git add --patch` with` --word-diff`

sam*_*per 10 git ergonomics git-diff git-config git-add

git add --patch 提供了一个很好的界面,用于查看未分级的更改,然后仅暂存下次提交中需要的更改.

很棒,除了一件事:没有明显的方法来选择diff使用哪个视图.

特别是,我希望能够像我一样配置git add --patch向我呈现差异git diff --word-diff.

我怎样才能做到这一点?

(NB既不是--word-diff也不--word-diff --color完全相同--color-words,所以这个问题(和它的答案)与这个问题及其答案是不同的.但是,这个问题的答案比这个问题更全面,所以这可能是去的地方有关如何操作实现的事情更多信息,这样.)

sam*_*per 5

这是可能的,如下所示:

git -c interactive.diffFilter="git diff --word-diff --color" add --patch
Run Code Online (Sandbox Code Playgroud)

但是,Git向您显示的内容以及由于交互式命令而实际上演的内容不一定匹配

  • 这在 `git 2.17+` 中不再有效,并以 ```fatal: mismatched output from interactive.diffFilter 提示:您的过滤器必须保持一对一的对应提示:在其输入和输出行之间。`` (3认同)
  • 我实际上在这里做了更多工作并详细介绍了一个解决方案:/sf/answers/3656176121/ 使用“interactive.diffFilter”和“diff-highlight”。 (2认同)