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
- 2.45.1 → 2.46.1 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 .