Code

Merge branch 'jn/lstree'
[git.git] / Documentation / git-grep.txt
index d8af4d961b83e362b83f25b21d40f9d54ed4bc11..c5a5dad1ce27dde6c3846beaf7ab2f7aa8ed81c8 100644 (file)
@@ -12,12 +12,13 @@ SYNOPSIS
 '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]
+          [-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>...]
+          [-f <file>] [-e] <pattern>
+          [--and|--or|--not|(|)|-e <pattern>...] [<tree>...]
           [--] [<path>...]
 
 DESCRIPTION
@@ -39,6 +40,9 @@ OPTIONS
        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
@@ -64,6 +68,10 @@ OPTIONS
        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.
 
@@ -81,6 +89,9 @@ OPTIONS
        line containing `--` between contiguous groups of
        matches.
 
+-<num>::
+       A shortcut for specifying -C<num>.
+
 -f <file>::
        Read patterns from <file>, one per line.
 
@@ -91,11 +102,16 @@ OPTIONS
        combined by 'or'.
 
 --and | --or | --not | ( | )::
-       Specify how multiple patterns are combined using boolean
+       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.
 
@@ -111,6 +127,10 @@ 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