127 votes

git grep par extensions de fichiers

Je sais que, si je voulais rechercher un motif uniquement sur les fichiers ayant certaines extensions, je pourrais le faire :

// searches recursively and matches case insensitively in only javascript files
// for "res" from the current directory
grep -iIr --include=*.js res ./

J'ai essayé de chercher un moyen de faire cela via git grep également (pour profiter de la vitesse de git grep grâce aux index qu'il stocke avec son arbre), mais sans succès. J'ai vu aquí que l'exclusion de certains types de fichiers n'est pas possible.

201voto

Charles Bailey Points 244082

Oui, par exemple :

git grep res -- '*.js'

2voto

sputnick Points 31663

Essayez de faire ceci :

find . -type f -iname '*.js' -exec grep -i 'pattern' {} +

0voto

Kay V Points 749

Si vous souhaitez effectuer une recherche dans toutes les branches, vous pouvez utiliser ce qui suit :

git log -Sres --all --name-only -- '*.js'

(Je vois que vous spécifiez git grep ; pour moi l'approche ici me semble plus simple et plus facile à retenir - plus proche des autres opérations dont j'ai besoin couramment).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X