git-grep(1)
===========

NAME
----
git-grep - Print lines matching a pattern


SYNOPSIS
--------
'git-grep' [<option>...] [-e] <pattern> [--] [<path>...]

DESCRIPTION
-----------
Searches list of files `git-ls-files` produces for lines
containing a match to the given pattern.


OPTIONS
-------
`--`::
	Signals the end of options; the rest of the parameters
	are <path> limiters.

<option>...::
	Either an option to pass to `grep` or `git-ls-files`.
+
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=\*`.
+
All other options will be passed to `grep`.

<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>`.

<path>...::
	Optional paths to limit the set of files to be searched;
	passed to `git-ls-files`.


Author
------
Written by Linus Torvalds <torvalds@osdl.org>

Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
---
Part of the gitlink:git[7] suite

