===== Overview ===== How to use ''git grep'' to search only tracked files, or tracked and new files, etc. ===== 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] [-l | --files-with-matches] [-L | --files-without-match] [(-O | --open-files-in-pager) []] [-z | --null] [-c | --count] [--all-match] [-q | --quiet] [--max-depth ] [--color[=] | --no-color] [--break] [--heading] [-p | --show-function] [-A ] [-B ] [-C ] [-W | --function-context] [--threads ] [-f ] [-e] [--and|--or|--not|(|)|-e ...] [--recurse-submodules] [--parent-basename ] [ [--[no-]exclude-standard] [--cached | --no-index | --untracked] | ...] [--] [...] NOTE: If you don't specify a '''' to search, it (apparently) defaults to the current working directory -- this is not obvious from the man page. ===== Config options ===== * ''grep.lineNumber'' * ''grep.patternType'' * ''grep.extendedRegexp'' * ''grep.threads'' * ''grep.fullName'' * ''grep.fallbackToNoIndex'' ===== Popular options ===== In addition to many standard ''grep'' options: --cached Instead of searching tracked files in the working tree, search blobs registered in the index file. --untracked In addition to searching in the tracked files in the working tree, search also in untracked files. --no-exclude-standard Also search in ignored files by not honoring the .gitignore mechanism. Only useful with --untracked. ===== Examples ===== Search a subdirectory: $ git grep -il torvalds -- scripts/ scripts/checkstack.pl scripts/get_maintainer.pl scripts/package/mkdebian $