git: determina si un file dado cambió entre los hash de revisión A y B?

¿Hay alguna manera fácil en Git de determinar si un file dado cambió entre los hashes de revisión A y B?

Sé que puedo hacer esto fácilmente si puedo determinar los hash de revisión A 'y B', donde A '= pnetworkingchange (A, path) y B' = pnetworkingchange (B, path), donde pnetworkingchange (X, path) es el padre más reciente de X (o X mismo) donde se cambió la ruta dada. Luego solo compruebo si A '== B'.

git diff [--stat] A..B -- path/to/file

Con --stat , simplemente muestra un resumen de una línea de los cambios. Sin, muestra la diferencia real.

La syntax A..B es un range de revisión. Escanea como "Todos los commits alcanzables desde B, pero no desde A". Cuando pasa un range de revisión a diff , muestra diffs de todos los commits en el range. A y B son "commitish": los commits, refs o tags de identificación de SHA1, HEAD, o cualquiera de los anteriores combinados con los selectores especiales como ^ .

Sí, puedes usar git diff con un range .

 git diff HEAD^.. file.txt 

Si ve less vacío, nada ha cambiado.

 git diff <A> <B> -- <path> | wc -l 

0 significa que el file no fue cambiado.