Cómo git grep solo un set de extensiones de files

¿Cómo se hace un git grep y se limitan los files seleccionados a un set de files? Me gustaría poder grep el contenido de los files .cpp y .h en busca de MyFunc. p.ej:

git grep "MyFunc" -- *.[hc]* 

Sin embargo, esto también coincide con los files .c y .cs.

Utilizar:

 git grep "MyFunc" -- '*.cpp' '*.h' 

Las comillas son necesarias para que git expanda los comodines en lugar del shell. Si los omite, solo searchá files en el directory actual, en lugar de include subdirectorys.

Esto se puede lograr al usar git bash en Windows usando:

 git grep "MyFunc" -- *.{cpp,h} 

o incluso más simple:

 git grep "MyFunc" -- *.cpp *.h 

La explicación de pathspec en el giton git menciona que los patrones se combinan usando fnmatch (3) . Que coincide con los patrones (incluidos los caracteres múltiples) según lo descrito por Shell y el volumen Utilidades de IEEE Std 1003.1-2001, Sección 2.13.1 y conduce a expresiones regulares básicas que coinciden con varios caracteres y me dio la primera solución.

La investigación adicional me llevó a la segunda solución al examinar la documentation sobre glob .