| git-grep(1) | 
 | =========== | 
 |  | 
 | NAME | 
 | ---- | 
 | git-grep - Print lines matching a pattern | 
 |  | 
 |  | 
 | SYNOPSIS | 
 | -------- | 
 | [verse] | 
 | 'git-grep' [--cached] | 
 | 	   [-a | --text] [-I] [-i | --ignore-case] [-w | --word-regexp] | 
 | 	   [-v | --invert-match] [-h|-H] [--full-name] | 
 | 	   [-E | --extended-regexp] [-G | --basic-regexp] | 
 | 	   [-F | --fixed-strings] [-n] | 
 | 	   [-l | --files-with-matches] [-L | --files-without-match] | 
 | 	   [-c | --count] [--all-match] | 
 | 	   [-A <post-context>] [-B <pre-context>] [-C <context>] | 
 | 	   [-f <file>] [-e] <pattern> | 
 | 	   [--and|--or|--not|(|)|-e <pattern>...] [<tree>...] | 
 | 	   [--] [<path>...] | 
 |  | 
 | DESCRIPTION | 
 | ----------- | 
 | Look for specified patterns in the working tree files, blobs | 
 | registered in the index file, or given tree objects. | 
 |  | 
 |  | 
 | OPTIONS | 
 | ------- | 
 | --cached:: | 
 | 	Instead of searching in the working tree files, check | 
 | 	the blobs registered in the index file. | 
 |  | 
 | -a:: | 
 | --text:: | 
 | 	Process binary files as if they were text. | 
 |  | 
 | -i:: | 
 | --ignore-case:: | 
 | 	Ignore case differences between the patterns and the | 
 | 	files. | 
 |  | 
 | -I:: | 
 | 	Don't match the pattern in binary files. | 
 |  | 
 | -w:: | 
 | --word-regexp:: | 
 | 	Match the pattern only at word boundary (either begin at the | 
 | 	beginning of a line, or preceded by a non-word character; end at | 
 | 	the end of a line or followed by a non-word character). | 
 |  | 
 | -v:: | 
 | --invert-match:: | 
 | 	Select non-matching lines. | 
 |  | 
 | -h:: | 
 | -H:: | 
 | 	By default, the command shows the filename for each | 
 | 	match.  `-h` option is used to suppress this output. | 
 | 	`-H` is there for completeness and does not do anything | 
 | 	except it overrides `-h` given earlier on the command | 
 | 	line. | 
 |  | 
 | --full-name:: | 
 | 	When run from a subdirectory, the command usually | 
 | 	outputs paths relative to the current directory.  This | 
 | 	option forces paths to be output relative to the project | 
 | 	top directory. | 
 |  | 
 | -E:: | 
 | --extended-regexp:: | 
 | -G:: | 
 | --basic-regexp:: | 
 | 	Use POSIX extended/basic regexp for patterns.  Default | 
 | 	is to use basic regexp. | 
 |  | 
 | -F:: | 
 | --fixed-strings:: | 
 | 	Use fixed strings for patterns (don't interpret pattern | 
 | 	as a regex). | 
 |  | 
 | -n:: | 
 | 	Prefix the line number to matching lines. | 
 |  | 
 | -l:: | 
 | --files-with-matches:: | 
 | --name-only:: | 
 | -L:: | 
 | --files-without-match:: | 
 | 	Instead of showing every matched line, show only the | 
 | 	names of files that contain (or do not contain) matches. | 
 | 	For better compatibility with git-diff, --name-only is a | 
 | 	synonym for --files-with-matches. | 
 |  | 
 | -c:: | 
 | --count:: | 
 | 	Instead of showing every matched line, show the number of | 
 | 	lines that match. | 
 |  | 
 | -[ABC] <context>:: | 
 | 	Show `context` trailing (`A` -- after), or leading (`B` | 
 | 	-- before), or both (`C` -- context) lines, and place a | 
 | 	line containing `--` between contiguous groups of | 
 | 	matches. | 
 |  | 
 | -<num>:: | 
 | 	A shortcut for specifying -C<num>. | 
 |  | 
 | -f <file>:: | 
 | 	Read patterns from <file>, one per line. | 
 |  | 
 | -e:: | 
 | 	The next parameter is the pattern. This option has to be | 
 | 	used for patterns starting with - and should be used in | 
 | 	scripts passing user input to grep.  Multiple patterns are | 
 | 	combined by 'or'. | 
 |  | 
 | --and:: | 
 | --or:: | 
 | --not:: | 
 | ( ... ):: | 
 | 	Specify how multiple patterns are combined using Boolean | 
 | 	expressions.  `--or` is the default operator.  `--and` has | 
 | 	higher precedence than `--or`.  `-e` has to be used for all | 
 | 	patterns. | 
 |  | 
 | --all-match:: | 
 | 	When giving multiple pattern expressions combined with `--or`, | 
 | 	this flag is specified to limit the match to files that | 
 | 	have lines to match all of them. | 
 |  | 
 | `<tree>...`:: | 
 | 	Search blobs in the trees for specified patterns. | 
 |  | 
 | \--:: | 
 | 	Signals the end of options; the rest of the parameters | 
 | 	are <path> limiters. | 
 |  | 
 |  | 
 | Example | 
 | ------- | 
 |  | 
 | git grep -e \'#define\' --and \( -e MAX_PATH -e PATH_MAX \):: | 
 | 	Looks for a line that has `#define` and either `MAX_PATH` or | 
 | 	`PATH_MAX`. | 
 |  | 
 | git grep --all-match -e NODE -e Unexpected:: | 
 | 	Looks for a line that has `NODE` or `Unexpected` in | 
 | 	files that have lines that match both. | 
 |  | 
 | Author | 
 | ------ | 
 | Originally written by Linus Torvalds <torvalds@osdl.org>, later | 
 | revamped by Junio C Hamano. | 
 |  | 
 |  | 
 | Documentation | 
 | -------------- | 
 | Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>. | 
 |  | 
 | GIT | 
 | --- | 
 | Part of the linkgit:git[1] suite |