Unix/Linux Go Back    


SuSE 11.3 - man page for git-grep (suse section 1)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


GIT-GREP(1)				    Git Manual				      GIT-GREP(1)

NAME
       git-grep - Print lines matching a pattern

SYNOPSIS
       git grep [-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]
		  [-z | --null]
		  [-c | --count] [--all-match] [-q | --quiet]
		  [--max-depth <depth>]
		  [--color[=<when>] | --no-color]
		  [-A <post-context>] [-B <pre-context>] [-C <context>]
		  [-f <file>] [-e] <pattern>
		  [--and|--or|--not|(|)|-e <pattern>...]
		  [--cached | --no-index | <tree>...]
		  [--] [<pathspec>...]

DESCRIPTION
       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
       --cached
	   Instead of searching tracked files in the working tree, search blobs registered in the
	   index file.

       --no-index
	   Search files in the current directory, not just those tracked by git.

       -a, --text
	   Process binary files as if they were text.

       -i, --ignore-case
	   Ignore case differences between the patterns and the files.

       -I
	   Don't match the pattern in binary files.

       --max-depth <depth>
	   For each <pathspec> given on command line, descend at most <depth> levels of
	   directories. A negative value means no limit.

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

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

       -l, --files-with-matches, --name-only, -L, --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
	   synonym for --files-with-matches.

       -z, --null
	   Output \0 instead of the character that normally follows a file name.

       -c, --count
	   Instead of showing every matched line, show the number of lines that match.

       --color[=<when>]
	   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. Same as --color=never.

       -[ABC] <context>
	   Show context trailing (A -- after), or leading (B
	    -- before), or both (C -- context) lines, and place a line containing -- between
	   contiguous groups of matches.

       -<num>
	   A shortcut for specifying -C<num>.

       -p, --show-function
	   Show the preceding line that contains the function name of the match, unless the
	   matching line is a function name itself. The name is determined in the same way as git
	   diff works out patch hunk headers (see Defining a custom hunk-header in
	   gitattributes(5)).

       -f <file>
	   Read patterns from <file>, 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.

       -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>...
	   Instead of searching tracked files in the working tree, search blobs in the given
	   trees.

       --
	   Signals the end of options; the rest of the parameters 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.

EXAMPLES
       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 --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[1]>, later revamped by Junio C
       Hamano.

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

GIT
       Part of the git(1) suite

NOTES
	1. torvalds@osdl.org
	   mailto:torvalds@osdl.org

	2. git@vger.kernel.org
	   mailto:git@vger.kernel.org

Git 1.7.1				    07/05/2010				      GIT-GREP(1)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 12:30 PM.