git-grep \- Print lines matching a pattern
.SH "SYNOPSIS"
-
-\fIgit\-grep\fR [<option>...] [\-e] <pattern> [\-\-] [<path>...]
+.nf
+\fIgit\-grep\fR [\-\-cached]
+ [\-a | \-\-text] [\-I] [\-i | \-\-ignore\-case] [\-w | \-\-word\-regexp]
+ [\-v | \-\-invert\-match]
+ [\-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>]
+ [<tree>...]
+ [\-\-] [<path>...]
+.fi
.SH "DESCRIPTION"
-Searches list of files git\-ls\-files produces for lines containing a match to the given pattern\&.
+Look for specified patterns in the working tree files, blobs registered in the index file, or given tree objects\&.
.SH "OPTIONS"
.TP
-\-\-
-Signals the end of options; the rest of the parameters are <path> limiters\&.
+\-\-cached
+Instead of searching in the working tree files, check the blobs registerd in the index file\&.
.TP
-<option>...
-Either an option to pass to grep or git\-ls\-files\&.
+\-a | \-\-text
+Process binary files as if they were text\&.
-The following are the specific git\-ls\-files options that may be given: \-o, \-\-cached, \-\-deleted, \-\-others, \-\-killed, \-\-ignored, \-\-modified, \-\-exclude=*, \-\-exclude\-from=*, and \-\-exclude\-per\-directory=*\&.
+.TP
+\-i | \-\-ignore\-case
+Ignore case differences between the patterns and the files\&.
+
+.TP
+\-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)\&.
-All other options will be passed to grep\&.
+.TP
+\-v | \-\-invert\-match
+Select non\-matching lines\&.
+
+.TP
+\-E | \-\-extended\-regexp | \-G | \-\-basic\-regexp
+Use POSIX extended/basic regexp for patterns\&. Default is to use basic regexp\&.
+
+.TP
+\-n
+Prefix the line number to matching lines\&.
.TP
-<pattern>
-The pattern to look for\&. The first non option is taken as the pattern; if your pattern begins with a dash, use \-e <pattern>\&.
+\-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\&.
.TP
-<path>...
-Optional paths to limit the set of files to be searched; passed to git\-ls\-files\&.
+\-c | \-\-count
+Instead of showing every matched line, show the number of lines that match\&.
+
+.TP
+\-[ABC] <context>
+Show context trailing (A -- after), or leading (B -- before), or both (C -- context) lines, and place a line containing \-\- between continguous groups of matches\&.
+
+.TP
+\-f <file>
+Read patterns from <file>, one per line\&.
+
+.TP
+<tree>...
+Search blobs in the trees for specified patterns\&.
+
+.TP
+\-\-
+Signals the end of options; the rest of the parameters are <path> limiters\&.
.SH "AUTHOR"
-Written by Linus Torvalds <torvalds@osdl\&.org>
+Originally written by Linus Torvalds <torvalds@osdl\&.org>, later revamped by Junio C Hamano\&.
.SH "DOCUMENTATION"