diff options
authorJunio C Hamano <>2006-05-08 20:28:49 (GMT)
committerJunio C Hamano <>2006-05-08 20:28:49 (GMT)
commit1c57119c70332faf206b5c7e2f3639b96a221717 (patch)
parentaa8c79ad03264c9e6b184379fb5f4bc34aefe0d6 (diff)
builtin-grep: documentation
Signed-off-by: Junio C Hamano <>
1 files changed, 62 insertions, 23 deletions
diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt
index d55456a..56b683a 100644
--- a/Documentation/git-grep.txt
+++ b/Documentation/git-grep.txt
@@ -8,43 +8,82 @@ git-grep - Print lines matching a pattern
-'git-grep' [<option>...] [-e] <pattern> [--] [<path>...]
+'git-grep' [--cached]
+ [-a | --text] [-I] [-i | --ignore-case] [-w | --word-regexp]
+ [-v | --invert-match]
+ [-E | --extended-regexp] [-G | --basic-regexp]
+ [-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>...]
-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.
- Signals the end of options; the rest of the parameters
- are <path> limiters.
+ Instead of searching in the working tree files, check
+ the blobs registerd 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.
+-E | --extended-regexp | -G | --basic-regexp::
+ Use POSIX extended/basic regexp for patterns. Default
+ is to use basic regexp.
- 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`.
+ Prefix the line number to matching lines.
- 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.
- 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.
+-[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.
+-f <file>::
+ Read patterns from <file>, one per line.
+ Search blobs in the trees for specified patterns.
+ Signals the end of options; the rest of the parameters
+ are <path> limiters.
-Written by Linus Torvalds <>
+Originally written by Linus Torvalds <>, later
+revamped by Junio C Hamano.