¿Es posible cambiar las 2 strings de diff?

Tengo 2 strings y quiero que el git se diferencie entre ellas.

Podría crear un file1 y agregar una cadena1 como su contenido.

Entonces podría crear un file2 y agregar una cadena2 como su contenido.

Entonces podría git diff file1 y file2.

Sin embargo, dado que tengo las cadenas como cadenas (y no como contenido de files), ¿puedo evitar estos pasos largos? hay una manera mas facil? TIA

Algo como:

git diff "my first string" "my second string" # obviously does not work 

Si insistes en el path git,

 git diff $(echo "my first string" | git hash-object -w --stdin) $(echo "my second string" | git hash-object -w --stdin) --word-diff 

No tiene que usar git diff para eso, Git se usa para rastrear los cambios en su base de código.

Hay un buen command de Linux para eso

 diff <(echo "my first string" ) <(echo "my second string") 

Esta es una buena respuesta http://sofes.miximages.com/a/454549/4620609

En el nivel de implementación, supongo, git diff utiliza una cierta utilidad de diferencia (como diff) para generar parches, y networkingirige a un buscapersonas (pnetworkingeterminado es less ) para ver. Entonces no necesitas llamar a git diff para comparar dos cadenas.

Si desea el formatting de file de parche como salida por git diff , el command de flujo será de ayuda.

diff -u <(echo "my first string" ) <(echo "my second string")

-u se agrega para decir a diff parche de salida con context unificado.

Por cierto, git proporciona un elemento de configuration diff.external para permitirle generar diff no por la maquinaria interna de diff, pero usando el command dado. la variable de entorno GIT_EXTERNAL_DIFF tiene el mismo efecto.