| 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] | 
 | 	   [-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. | 
 |  | 
 | -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. | 
 |  | 
 | -n:: | 
 | 	Prefix the line number to matching lines. | 
 |  | 
 | -l | --files-with-matches | -L | --files-without-match:: | 
 | 	Instead of showing every matched line, show only the | 
 | 	names of files that contain (or do not contain) 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. | 
 |  | 
 | -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. | 
 |  | 
 | `<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`. | 
 |  | 
 | 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 gitlink:git[7] suite | 
 |  |