Я считаю, что добавление следующей строки в раздел [alias]
вашей .gitconfig будет делать то, что вы хотите в linux системе:
diffmd = "!f() { git diff --word-diff=plain $1 | sed 's/{+//g' | sed 's/+}//g' | sed 's/\\[-/~~/g' | sed 's/-\\]/~~/g' ; } ; f"
Вы бы тогда используйте его как git diffmd HEAD^
.
Объяснение:
Здесь мы в основном обертываем определение и вызов функции bash в псевдоним git.
Опция git diff
--word-diff=plain
заменяет изменения цвета ANSI строками "[-", "-]", "{+" и "+}".
"$ 1" заменяется на «HEAD ^» в этом случае использования.
Мы используем sed, чтобы заменить «[-» и «-]» на «~~», а «{+» и «+}» заменить ничем.