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]).