Git 🌙
Français â–Ÿ Topics â–Ÿ Latest version â–Ÿ git-grep last updated in 2.45.0

NOM

git-grep - Imprime les lignes correspondant Ă  un motif

SYNOPSIS

git grep [-a | --text] [-I] [--textconv] [-i | --ignore-case] [-w | --word-regexp]
	   [-v | --invert-match] [-h|-H] [--full-name]
	   [-E | --extended-regexp] [-G | --basic-regexp]
	   [-P | --perl-regexp]
	   [-F | --fixed-strings] [-n | --line-number] [--column]
	   [-l | --files-with-matches] [-L | --files-without-match]
	   [(-O | --open-files-in-pager) [<pageur>]]
	   [-z | --null]
	   [ -o | --only-matching ] [-c | --count] [--all-match] [-q | --quiet]
	   [--max-depth <profondeur>] [--[no-]recursive]
	   [--color[=<quand>] | --no-color]
	   [--break] [--heading] [-p | --show-function]
	   [-A <post-contexte>] [-B <pre-contexte>] [-C <contexte>]
	   [-W | --function-context]
	   [(-m | --max-count) <num>]
	   [--threads <num>]
	   [-f <file>] [-e] <motif>
	   [--and|--or|--not|(|)|-e <motif>…​]
	   [--recurse-submodules] [--parent-basename <nom-de-base>]
	   [ [--[no-]exclude-standard] [--cached | --untracked |--no-index] | <arbre>…​]
	   [--] [<spĂ©c-de-chemin>…​]

DESCRIPTION

Recherche les motifs spĂ©cifiĂ©s dans les fichiers suivis de l’arbre de travail, les blobs enregistrĂ©s dans le fichier d’index, ou les blobs dans des objets donnĂ©s de l’arbre. Les motifs sont des listes d’une ou plusieurs expressions de recherche sĂ©parĂ©es par des caractĂšres de nouvelle ligne. Une chaĂźne vide comme expression de recherche correspond Ă  toutes les lignes.

OPTIONS

--cached

Au lieu de rechercher les fichiers suivis dans l’arbre de travail, rechercher les blobs enregistrĂ©s dans le fichier d’index.

--untracked

En plus de rechercher dans les fichiers suivis dans l’arbre de travail, rechercher aussi dans les fichiers non-suivis.

--no-index

Recherche les fichiers dans le rĂ©pertoire actuel qui n’est pas gĂ©rĂ© par Git, ou en ignorant que le rĂ©pertoire actuel est gĂ©rĂ© par Git. Cela ressemble plutĂŽt Ă  l’exĂ©cution de l’utilitaire rĂ©gulier grep(1) avec son option -r spĂ©cifiĂ©e, mais avec quelques avantages supplĂ©mentaires, tels que l’utilisation de motifs de spĂ©cificateurs de chemins pour limiter les chemins ; voir l’entrĂ©e spĂ©cificateurs de chemin dans gitglossary[7] pour plus d’informations.

Cette option ne peut ĂȘtre utilisĂ©e avec --cached ou --untracked. Voir aussi grep.fallbackToNoIndex dans CONFIGURATION ci-dessous.

--no-exclude-standard

Rechercher Ă©galement dans les fichiers ignorĂ©s en n’honorant pas le mĂ©canisme .gitignore. Seulement utile avec --untracked.

--exclude-standard

Ne pas prĂȘter attention aux fichiers ignorĂ©s spĂ©cifiĂ©s via le mĂ©canisme .gitignore. Seulement utile lors de la recherche de fichiers dans le rĂ©pertoire actuel avec --no-index.

--recurse-submodules

Rechercher rĂ©cursivement dans chaque sous-module qui est actif et extrait dans l’arbre de travail. Lorsqu’il est utilisĂ© en combinaison avec l’option <arbre>, le prĂ©fixe de toutes les sorties de sous-modules sera le nom de l’objet <arbre> du projet parent. Cette option ne peut pas ĂȘtre utilisĂ©e avec --untracked et n’a aucun effet si --no-index est donnĂ©.

-a
--text

Traiter les fichiers binaires comme s’il s’agissait de texte.

--textconv

Honorer les paramĂštres du filtre textconv.

--no-textconv

Ne pas respecter les paramĂštres du filtre textconv. C’est la valeur par dĂ©faut.

-i
--ignore-case

Ignorer les différences de casse entre les modÚles et les fichiers.

-I

Ne pas chercher les motifs dans les fichiers binaires.

--max-depth <profondeur>

Pour chaque <spĂ©c-de-chemin> donnĂ© sur la ligne de commande, descend au maximum <profondeur> niveaux de rĂ©pertoires. Une valeur de -1 signifie qu’il n’y a pas de limite. Cette option est ignorĂ©e si <spĂ©c-de-chemin> contient des caractĂšres gĂ©nĂ©riques actifs. En d’autres termes, si "a*" correspond Ă  un rĂ©pertoire nommĂ© "a*", "*" correspond littĂ©ralement, donc --max-depth est toujours efficace.

-r
--recursive

Identique Ă  --max-depth=-1 ; c’est la valeur par dĂ©faut.

--no-recursive

Identique Ă  --max-depth=0.

-w
--word-regexp

Appliquer le motif uniquement Ă  la limite du mot (ou commencer au dĂ©but d’une ligne, ou prĂ©cĂ©dĂ© d’un caractĂšre non-mot ; finir Ă  la fin d’une ligne ou suivre un caractĂšre non-mot).

-v
--invert-match

SĂ©lectionner les lignes qui ne correspondent pas.

-h
-H

Par dĂ©faut, la commande affiche le nom du fichier pour chaque correspondance. L’option -h est utilisĂ©e pour supprimer cette sortie. -H est indiquĂ© pour ĂȘtre complet et ne fait rien d’autre que d’Ă©craser -h donnĂ© plus tĂŽt sur la ligne de commande.

--full-name

Lorsqu’elle est exĂ©cutĂ©e Ă  partir d’un sous-rĂ©pertoire, la commande produit gĂ©nĂ©ralement des chemins relatifs au rĂ©pertoire actuel. Cette option force l’affichage des chemins relatifs au rĂ©pertoire principal du projet.

-E
--extended-regexp
-G
--basic-regexp

Utiliser les expressions rationnelles Ă©tendues/de base POSIX pour les motifs. La valeur par dĂ©faut est d’utiliser une expression rationnelle de base.

-P
--perl-regexp

Utiliser des expressions rationnelles compatibles avec Perl pour les motifs.

La prise en charge de ces types d’expressions rĂ©guliĂšres est une dĂ©pendance optionnelle Ă  la compilation. Si Git n’a pas Ă©tĂ© compilĂ© avec ce support et que cette option est activĂ©e, la commande se termine immĂ©diatement.

-F
--fixed-strings

Utiliser des chaßnes fixes pour les motifs (ne pas interpréter le motif comme une regex).

-n
--line-number

Préfixer le numéro de la ligne aux lignes de correspondances.

--column

PrĂ©fixer le dĂ©calage d’octet indexĂ© Ă  1 de la premiĂšre correspondance Ă  partir du dĂ©but de la ligne de correspondance.

-l
--files-with-matches
--name-only
-L
--files-without-match

Au lieu de montrer toutes les lignes de correspondances, ne montrer que les noms des fichiers qui contiennent (ou ne contiennent pas) des correspondances. Pour une meilleure compatibilité avec git diff, --name-only est un synonyme de --files-with-matches.

-O[<pageur>]
--open-files-in-pager[=<pageur>]

Ouvrir les fichiers correspondants dans le pageur (pas la sortie de grep). Si le pageur est "less" ou "vi", et que l’utilisateur n’a spĂ©cifiĂ© qu’un seul motif, le premier fichier est positionnĂ© automatiquement Ă  la premiĂšre correspondance. L’argument <pageur> est optionnel ; s’il est spĂ©cifiĂ©, il doit ĂȘtre collĂ© Ă  l’option sans espace. Si <pageur> n’est pas spĂ©cifiĂ©, le pageur par dĂ©faut sera utilisĂ© (voir core.pager dans git-config[1]).

-z
--null

Utiliser \ 0 comme délimiteur pour les noms de chemin dans la sortie et les afficher verbatim. Sans cette option, les noms de chemin avec des caractÚres « inhabituels » sont cités comme expliqué pour la variable de configuration` core.quotePath` (voir git-config[1]).

-o
--only-matching

Afficher seulement les parties correspondantes (non vides) d’une ligne correspondante, avec chacune de ces parties sur une ligne de sortie sĂ©parĂ©e.

-c
--count

Au lieu d’afficher toutes les lignes correspondantes, afficher le nombre de lignes qui correspondent.

--color[=<quand>]

Afficher les correspondances colorĂ©es. La valeur doit ĂȘtre always (toujfours, valeur par dĂ©faut), never (jamais), ou auto.

--no-color

DĂ©sactiver la coloration des correspondances, mĂȘme lorsque le fichier de configuration donne la sortie en couleur par dĂ©faut. MĂȘme chose que --color=never.

--break

Imprimer une ligne vide entre les correspondances de fichiers différents.

--heading

Afficher le nom du fichier au-dessus des correspondances dans ce fichier au lieu du début de chaque ligne affichée.

-p
--show-function

Afficher la ligne prĂ©cĂ©dente qui contient le nom de fonction de la correspondance, Ă  moins que la ligne correspondante soit elle-mĂȘme un nom de fonction. Le nom est dĂ©terminĂ© de la mĂȘme maniĂšre que git diff traite les en-tĂȘtes de rustine (voir DĂ©finir un entĂȘte de section personnalisĂ© in gitattributes[5]).

-<num>
-C <num>
--context <num>

Afficher <num> lignes de contexte avant et aprĂšs chaque correspondance, et placer une ligne contenant -- entre des groupes contigus de correspondances.

-A <num>
--after-context <num>

Afficher <num> de lignes de contexte aprĂšs, et placer une ligne contenant -- entre des groupes contigus de correspondances.

-B <num>
--before-context <num>

Afficher <num> lignes de contexte avant, et placer une ligne contenant -- entre des groupes contigus de correspondances.

-W
--function-context

Afficher le texte environnant depuis la ligne prĂ©cĂ©dente contenant un nom de fonction jusqu’Ă  celle qui prĂ©cĂšde le nom de fonction suivant, affichant effectivement la fonction entiĂšre dans laquelle la correspondance a Ă©tĂ© trouvĂ©e. Les noms de fonctions sont dĂ©terminĂ©s de la mĂȘme maniĂšre que git diff traite les en-tĂȘtes de rustines (voir DĂ©finir un entĂȘte de section personnalisĂ© dans gitattributes[5]).

-m <num>
--max-count <nombre>

Limiter le nombre de correspondances par fichier. En utilisant l’option -v ou --invert-match, la recherche s’arrĂȘte aprĂšs le nombre spĂ©cifiĂ© de non-correspondances. Une valeur de -1 retournera des rĂ©sultats illimitĂ©s (par dĂ©faut). Une valeur de 0 quittera immĂ©diatement avec un statut non nul.

--threads <num>

Nombre de fils de travail de grep Ă  utiliser. Voir NOTES SUR LES FILS et grep.threads dans CONFIGURATION pour plus d’informations.

-f <fichier>

Lire les motifs depuis <fichier>, un par ligne.

Le passage du motif via <fichier> permet de fournir un motif de recherche contenant un \0.

Tous les types de motifs ne prennent pas en charge les motifs contenant \0. Git sortira en erreur si un type de motif donnĂ© ne peut pas prendre en charge un tel motif. Le type de motif --perl-regexp prend en charge le plus grand nombre de motifs de ce genre lorsqu’il est utilise le moteur PCRE v2.

Dans les versions de Git antĂ©rieures Ă  2.23.0, les motifs contenant \0 Ă©taient silencieusement considĂ©rĂ©s comme fixes. Cela n’a jamais Ă©tĂ© documentĂ©, il y avait aussi des interactions bizarres et non documentĂ©es entre, par exemple, les motifs non-ASCII contenant \0 et --ignore-case.

Dans les prochaines versions, Git apprendra peut-ĂȘtre Ă  prendre en charge les motifs contenant des \0 pour un plus grand nombre de moteurs de recherche. En attendant, Git se termine lorsque le type de motif en question ne les prend pas en charge.

-e

Le paramĂštre suivant est le motif. Cette option doit ĂȘtre utilisĂ©e pour les motifs commençant par - et devrait ĂȘtre utilisĂ©e dans les scripts passant l’entrĂ©e utilisateur Ă  grep. Si plusieurs motifs sont fournis, ils sont combinĂ©s par ou.

--and
--or
--not
( …​ )

SpĂ©cifier la façon dont les motifs multiples sont combinĂ©s en utilisant des expressions boolĂ©ennes. --or est l’opĂ©rateur par dĂ©faut. --and a une prioritĂ© plus Ă©levĂ©e que --or. -e doit ĂȘtre utilisĂ© pour tous les motifs.

--all-match

Lorsque vous donnez plusieurs expressions de motifs combinées avec --or, ce drapeau est spécifié pour limiter la correspondance aux fichiers qui ont des lignes correspondant à toutes ces expressions.

-q
--quiet

Ne pas afficher les lignes correspondantes ; Ă  la place, sortir avec le statut 0 quand il y a une correspondance et avec un statut non nul quand il n’y en a pas.

<arbre>…​

Au lieu de rechercher les fichiers suivis dans l’arbre de travail, rechercher les blobs enregistrĂ©s dans les arbres fournis.

--

Signale la fin des options ; le reste des paramÚtres sont des limiteurs <spéc-de-chemin>.

<spĂ©cificateur de chemin>…​

Si donné, limiter la recherche aux chemins correspondant à au moins un motif. Les motifs de correspondance des chemins principaux et les motifs glob(7) sont tous deux pris en charge.

Pour de plus amples détails sur la syntaxe <spécificateur de chemin>, référez-vous à la section pathspec dans gitglossary[7].

EXEMPLES

git grep 'time_t' -- '*.[ch]'

Recherche time_t dans tous les fichiers suivis .c et .h dans le répertoire de travail et ses sous-répertoires.

git grep -e '#define' --and \( -e MAX_PATH -e PATH_MAX \)

Recherche une ligne contenant #define et MAX_PATH ou PATH_MAX.

git grep --all-match -e NODE -e Unexpected

Recherche une ligne qui contient NODE ou Unexpected dans les fichiers qui ont des lignes qui correspondent aux deux.

git grep solution -- :^Documentation

Recherche solution, en excluant les fichiers de la Documentation.

NOTES SUR LES FILS

L’option --threads (et la configuration de grep.threads) sera ignorĂ©e quand --open-files-in-pager est utilisĂ©, forçant une exĂ©cution Ă  un seul thread.

Lors de l’exploration du magasin d’objets (avec --cached ou en donnant des objets arbre), l’exĂ©cution avec plusieurs threads peut ĂȘtre plus lente qu’avec un seul thread si --textconv est donnĂ© et qu’il y a trop de conversions de texte. Donc, si vous avez de faibles performances dans ce cas, il peut ĂȘtre souhaitable d’utiliser --threads=1.

CONFIGURATION

Warning

Missing fr/includes/cmd-config-section-all.txt

See original version for this content.

Warning

Missing fr/config/grep.txt

See original version for this content.

GIT

Fait partie de la suite git[1]

TRADUCTION

Cette page de manuel a été traduite par Jean-Noël Avila <jn.avila AT free DOT fr> et les membres du projet git-manpages-l10n. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le site https://github.com/jnavila/git-manpages-l10n .

scroll-to-top