Comment utiliser 'git diff --color-words' en dehors d'un dépôt Git?

Comment obtenir la sortie comme dans git diff --color-words , mais en dehors de Git?

la chose la plus proche est wdiff -t , mais elle souligne/inverse les choses au lieu d'utiliser des couleurs vert/rouge et ne permet pas de spécifier mon espace regex.

48
demandé sur Vi. 2011-04-12 18:58:12

5 réponses

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

86
répondu Vi. 2011-04-12 15:02:01

D'après un commentaire de Jefromi vous pouvez juste utiliser

git diff --color-words file1 file2

en dehors des dépôts git.

6
répondu Thomas 2012-09-11 12:55:38

vous pouvez dire git diff --color=always --color-words , ce qui vous donnera les codes couleur d'échappement dans la sortie. vous allez avoir un certain shell pour interpréter les codes de couleur cependant ...

1
répondu knittl 2011-04-12 16:11:43

si je suis dans un dépôt git (git v2.3.3):

  • git diff --color-words ne fonctionne pas (pas de sortie)
  • git diff --no-index n'accepte pas --color-words ni --color arguments

utiliser wdiff est possible, configuré pour utiliser des couleurs, plutôt que souligné:

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

Source: https://www.gnu.org/software/wdiff/manual/html_node/wdiff-Examples.html (modifié pour utiliser des couleurs d'avant-plan plutôt que des couleurs d'arrière-plan)

J'espère que ça aidera.

1
répondu Pierre-Olivier Vares 2015-03-20 10:48:49

Git version 1.9.1:

git diff --word-diff=color fileA fileB

1
répondu JellicleCat 2015-05-02 22:55:44