Code

Merge branch 'nd/root-git'
[git.git] / Documentation / git-grep.txt
index 8c700200f55e1a92545cfb8218c8c1ba2cedee68..6305f6d82a52d7d3b9e0aac2b2712a4e91931666 100644 (file)
@@ -16,18 +16,18 @@ SYNOPSIS
           [-F | --fixed-strings] [-n]
           [-l | --files-with-matches] [-L | --files-without-match]
           [-z | --null]
           [-F | --fixed-strings] [-n]
           [-l | --files-with-matches] [-L | --files-without-match]
           [-z | --null]
-          [-c | --count] [--all-match]
+          [-c | --count] [--all-match] [-q | --quiet]
           [--max-depth <depth>]
           [--max-depth <depth>]
-          [--color | --no-color]
+          [--color[=<when>] | --no-color]
           [-A <post-context>] [-B <pre-context>] [-C <context>]
           [-f <file>] [-e] <pattern>
           [--and|--or|--not|(|)|-e <pattern>...] [<tree>...]
           [-A <post-context>] [-B <pre-context>] [-C <context>]
           [-f <file>] [-e] <pattern>
           [--and|--or|--not|(|)|-e <pattern>...] [<tree>...]
-          [--] [<path>...]
+          [--] [<pathspec>...]
 
 DESCRIPTION
 -----------
 
 DESCRIPTION
 -----------
-Look for specified patterns in the working tree files, blobs
-registered in the index file, or given tree objects.
+Look for specified patterns in the tracked files in the work tree, blobs
+registered in the index file, or blobs in given tree objects.
 
 
 OPTIONS
 
 
 OPTIONS
@@ -49,7 +49,7 @@ OPTIONS
        Don't match the pattern in binary files.
 
 --max-depth <depth>::
        Don't match the pattern in binary files.
 
 --max-depth <depth>::
-       For each pathspec given on command line, descend at most <depth>
+       For each <pathspec> given on command line, descend at most <depth>
        levels of directories. A negative value means no limit.
 
 -w::
        levels of directories. A negative value means no limit.
 
 -w::
@@ -98,7 +98,7 @@ OPTIONS
 --files-without-match::
        Instead of showing every matched line, show only the
        names of files that contain (or do not contain) matches.
 --files-without-match::
        Instead of showing every matched line, show only the
        names of files that contain (or do not contain) matches.
-       For better compatibility with 'git-diff', --name-only is a
+       For better compatibility with 'git diff', --name-only is a
        synonym for --files-with-matches.
 
 -z::
        synonym for --files-with-matches.
 
 -z::
@@ -111,12 +111,14 @@ OPTIONS
        Instead of showing every matched line, show the number of
        lines that match.
 
        Instead of showing every matched line, show the number of
        lines that match.
 
---color::
+--color[=<when>]::
        Show colored matches.
        Show colored matches.
+       The value must be always (the default), never, or auto.
 
 --no-color::
        Turn off match highlighting, even when the configuration file
        gives the default to color output.
 
 --no-color::
        Turn off match highlighting, even when the configuration file
        gives the default to color output.
+       Same as `--color=never`.
 
 -[ABC] <context>::
        Show `context` trailing (`A` -- after), or leading (`B`
 
 -[ABC] <context>::
        Show `context` trailing (`A` -- after), or leading (`B`
@@ -158,17 +160,29 @@ OPTIONS
        this flag is specified to limit the match to files that
        have lines to match all of them.
 
        this flag is specified to limit the match to files that
        have lines to match all of them.
 
+-q::
+--quiet::
+       Do not output matched lines; instead, exit with status 0 when
+       there is a match and with non-zero status when there isn't.
+
 `<tree>...`::
        Search blobs in the trees for specified patterns.
 
 \--::
        Signals the end of options; the rest of the parameters
 `<tree>...`::
        Search blobs in the trees for specified patterns.
 
 \--::
        Signals the end of options; the rest of the parameters
-       are <path> limiters.
+       are <pathspec> limiters.
 
 
+<pathspec>...::
+       If given, limit the search to paths matching at least one pattern.
+       Both leading paths match and glob(7) patterns are supported.
 
 Example
 -------
 
 
 Example
 -------
 
+git grep 'time_t' -- '*.[ch]'::
+       Looks for `time_t` in all tracked .c and .h files in the working
+       directory and its subdirectories.
+
 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 -e \'#define\' --and \( -e MAX_PATH -e PATH_MAX \)::
        Looks for a line that has `#define` and either `MAX_PATH` or
        `PATH_MAX`.