X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-grep.txt;h=c5a5dad1ce27dde6c3846beaf7ab2f7aa8ed81c8;hb=ffcc952b33575e28b971d63ba2b7e46b7726a257;hp=74102b7944fd7153602ea5d9ae0969c150cd945f;hpb=f6fb133b84d4a3ff560f341f7879c6721b6fb0d7;p=git.git diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt index 74102b794..c5a5dad1c 100644 --- a/Documentation/git-grep.txt +++ b/Documentation/git-grep.txt @@ -11,13 +11,14 @@ SYNOPSIS [verse] 'git-grep' [--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] + [-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] [--all-match] [-A ] [-B ] [-C ] - [-f ] [-e ] - [...] + [-f ] [-e] + [--and|--or|--not|(|)|-e ...] [...] [--] [...] DESCRIPTION @@ -30,7 +31,7 @@ OPTIONS ------- --cached:: Instead of searching in the working tree files, check - the blobs registerd in the index file. + the blobs registered in the index file. -a | --text:: Process binary files as if they were text. @@ -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 @@ -47,10 +51,27 @@ OPTIONS -v | --invert-match:: Select non-matching lines. +-h | -H:: + By default, the command shows the filename for each + match. `-h` option is used to suppress this output. + `-H` is there for completeness and does not do anything + except it overrides `-h` given earlier on the command + line. + +--full-name:: + When run from a subdirectory, the command usually + outputs paths relative to the current directory. This + option forces paths to be output relative to the project + top directory. + -E | --extended-regexp | -G | --basic-regexp:: 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. @@ -65,20 +86,51 @@ OPTIONS -[ABC] :: Show `context` trailing (`A` -- after), or leading (`B` -- before), or both (`C` -- context) lines, and place a - line containing `--` between continguous groups of + line containing `--` between contiguous groups of matches. +-:: + A shortcut for specifying -C. + -f :: Read patterns from , one per line. +-e:: + The next parameter is the pattern. This option has to be + used for patterns starting with - and should be used in + scripts passing user input to grep. Multiple patterns are + combined by 'or'. + +--and | --or | --not | ( | ):: + 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. + `...`:: Search blobs in the trees for specified patterns. -`--`:: +\--:: Signals the end of options; the rest of the parameters are limiters. +Example +------- + +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 , later