Git muestra <commit> y obtiene diff para un subset de files

Estoy buscando una solución para get la diferencia de una confirmación usando el command git show <commit> .

Por lo general, hago:

 $> git show 12f00d 

Y como esperaba, obtengo todos los diff para todos los files modificados en la confirmación dada.

Ahora tengo una gran confirmación (muchos files cambiados / movidos) después de una refactorización y solo necesito saber qué cambió en todos los files xml forma recursiva en esta confirmación. Tengo muchos files .java, .xsl, .properties y solo algunos files .xml.

Probé los siguientes commands sin éxito:

 $> git show 12f00d -L 0,0:*.xml > incorrect syntax $> git show 12f00d *.xml > no result $> git show 12f00d **/*.xml > Return the root pom.xml but not recursively $> git show 12f00d **/**.xml > Return the root pom.xml but not recursively $> git show 12f00d -- *.xml > no result $> git show 12f00d -- **/*.xml > Return the root pom.xml but not recursively $> git show 12f00d -- **/**.xml > Return the root pom.xml but not recursively 

Intenté las mismas opciones con el command git diff <commit> .

Uso la versión 1.8.4 de Git bajo Linux CentOS (terminal bash).

¿Sabes si ese filter es posible con git (quizás otro command)?

Prueba esto: git show 12f00d '*.xml'