Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.45.1 → 2.47.0 no changes
- 2.45.0 04/29/24
- 2.43.1 → 2.44.2 no changes
- 2.43.0 11/20/23
- 2.38.1 → 2.42.3 no changes
- 2.38.0 10/02/22
- 2.32.1 → 2.37.7 no changes
- 2.32.0 06/06/21
- 2.30.1 → 2.31.8 no changes
- 2.30.0 12/27/20
- 2.29.1 → 2.29.3 no changes
- 2.29.0 10/19/20
- 2.27.1 → 2.28.1 no changes
- 2.27.0 06/01/20
- 2.26.1 → 2.26.3 no changes
- 2.26.0 03/22/20
- 2.25.2 → 2.25.5 no changes
- 2.25.1 02/17/20
- 2.24.1 → 2.25.0 no changes
- 2.24.0 11/04/19
- 2.22.1 → 2.23.4 no changes
- 2.22.0 06/07/19
- 2.20.1 → 2.21.4 no changes
- 2.20.0 12/09/18
- 2.19.1 → 2.19.6 no changes
- 2.19.0 09/10/18
- 2.18.1 → 2.18.5 no changes
- 2.18.0 06/21/18
- 2.16.6 → 2.17.6 no changes
- 2.15.4 no changes
- 2.14.6 12/06/19
- 2.13.7 no changes
- 2.12.5 09/22/17
- 2.10.5 → 2.11.4 no changes
- 2.9.5 07/30/17
- 2.8.6 07/30/17
- 2.7.6 no changes
- 2.6.7 05/05/17
- 2.2.3 → 2.5.6 no changes
- 2.1.4 12/17/14
- 2.0.5 12/17/14
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 aussigrep.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é (voircore.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 etgrep.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
etMAX_PATH
ouPATH_MAX
. -
git grep --all-match -e NODE -e Unexpected
-
Recherche une ligne qui contient
NODE
ouUnexpected
dans les fichiers qui ont des lignes qui correspondent aux deux. -
git grep solution -- :^Documentation
-
Recherche
solution
, en excluant les fichiers de laDocumentation
.
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 See original version for this content. |
Warning
|
Missing 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 .