web-dev-qa-db-fra.com

Comment puis-je utiliser `git diff --color-words` en dehors d'un référentiel Git?

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

La chose la plus proche est wdiff -t, mais il souligne/inverse les choses au lieu d'utiliser des couleurs vertes/rouges et ne permet pas de spécifier mon expression régulière d'espace.

61
Vi.

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

99
Vi.

Selon un commentaire de Jefromi, vous pouvez simplement utiliser

git diff --color-words file1 file2

en dehors des dépôts git aussi.

8
Thomas

Git version 1.9.1:

git diff --Word-diff=color fileA fileB

2
JellicleCat

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

L'utilisation de wdiff est possible, configurée pour utiliser des couleurs, plutôt que soulignée:

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

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

J'espère que ça aide.

1

tu peux dire git diff --color=always --color-words, qui vous donnera les codes d'échappement de couleur dans la sortie. vous allez avoir un peu de Shell pour interpréter les codes couleurs…

1
knittl