我可以让 git add -p show changes like git diff --word-diff 吗?

Can I make git add -p show changes like git diff --word-diff?

我已经递归地替换了我的代码库中的许多单个单词模式。在提交之前,我需要检查每一个是否有错误的替换。让 git add -p 使用 --word-diff 使用 git diff 的格式对我有很大帮助,其中只标记更改的单词而不是整行。

有人在这里问过同样的问题,但也许是从那以后实施的? https://groups.google.com/forum/#!topic/git-users/7uO2OUJGvP0

从 Git 2.9 开始,您可以使用 属性 interactive.diffFilter (as I mentioned below this answer)

但是,自 Git 2.17 以来,任何 git -c interactive.diffFilter="git diff --color-words" add -p 都会生成一条错误消息

fatal: mismatched output from interactive.diffFilter

(如图

所以使用 script for the interactive.diffFilter setting 仍然是更安全的方法。

diff-highlight 添加到 interactive.diffFilter 配置项是最简单的选项(自 Git 2.9 起)。以下命令在 Debian/Ubuntu 上执行此操作:

git config interactive.diffFilter "perl /usr/share/doc/git/contrib/diff-highlight/diff-highlight"

git -c interactive.diffFilter="git diff --color-words" add -pgit config interactive.diffFilter "git diff --color-words" 之类的东西不能正常工作:add -p 总是提示第一个修改的文件。