4

我对以下命令有一些运气:

git diff --color-words='[^][<>()\{},.;:?/|\\=+*&^%$#@!~`"'\''[:space:]]+|[][<>(){},.;:?/|\\=+*&^%$#@!~`"'\'']'

但它似乎并没有正确否定第一个字符类中的方括号。

我试过这个:

git diff --color-words='[^\]\[<>()\{},.;:?/|\\=+*&^%#@!~`"'\''[:space:]]+|[\]\[<>(){},.;:?/|\\=+*&^%#@!~`"'\'']'

为了使方括号文字,但它失败了 message fatal: Invalid regular expression

编辑:

我得到的输出是这样的:

富吧fo]ob[ar

但我追求的是:

fo ] oob [ ar

4

2 回答 2

2

使用单词 diff,您将始终在新单词旁边看到您删除的单词。

这就是为什么你在新的变化之前有这个词。

阅读这个问题,非常详细的答案:

使用正则表达式过滤差异

于 2016-03-24T08:37:00.180 回答
1

尽管我最终不需要它,但要像我的示例一样查看字符级别的差异,这很有效:

git diff --color-words=.
于 2021-05-31T07:43:28.193 回答