Как использовать `git diff --color-words " вне репозитория Git?

Как получить результат в git diff --color-words, но вне Git?

ближе всего это wdiff -t, но он подчеркивает / инвертирует вещи вместо использования зеленых / красных цветов и не позволяет указывать мое регулярное выражение пробелов.

5 ответов


git diff --color-words --no-index


согласно комментарию от Jefromi вы можете просто использовать

git diff --color-words file1 file2

вне репозиториев git тоже.


вы можете сказать git diff --color=always --color-words, который даст вам коды цветового escape-кода на выходе. у вас будет некоторая оболочка для интерпретации цветовых кодов, хотя ...


если я внутри репозитория git (git v2.3.3):

  • git diff --color-words не работает (нет выхода)
  • git diff --no-index не принимаются --color-words, ни --color аргументы

использование wdiff возможно, настроено на использование цветов, а не подчеркнуто:

wdiff -n \
  -w $'3[30;31m' -x $'3[0m' \
  -y $'3[30;32m' -z $'3[0m' \
  … | less -R

источник:https://www.gnu.org/software/wdiff/manual/html_node/wdiff-Examples.html (изменено для использования цветов переднего плана, а не фона цвета)

надеюсь, что это помогает.


версий Git 1.9.1:

git diff --word-diff=color fileA fileB