git-check-ignore(1)
===================

NAME
----
git-check-ignore - Debug gitignore / exclude files


SYNOPSIS
--------
[verse]
'git check-ignore' [options] pathname...
'git check-ignore' [options] --stdin < <list-of-paths>

DESCRIPTION
-----------

For each pathname given via the command-line or from a file via
`--stdin`, show the pattern from .gitignore (or other input files to
the exclude mechanism) that decides if the pathname is excluded or
included.  Later patterns within a file take precedence over earlier
ones.

OPTIONS
-------
-q, --quiet::
	Don't output anything, just set exit status.  This is only
	valid with a single pathname.

-v, --verbose::
	Also output details about the matching pattern (if any)
	for each given pathname.

--stdin::
	Read file names from stdin instead of from the command-line.

-z::
	The output format is modified to be machine-parseable (see
	below).  If `--stdin` is also given, input paths are separated
	with a NUL character instead of a linefeed character.

OUTPUT
------

By default, any of the given pathnames which match an ignore pattern
will be output, one per line.  If no pattern matches a given path,
nothing will be output for that path; this means that path will not be
ignored.

If `--verbose` is specified, the output is a series of lines of the form:

<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>

<pathname> is the path of a file being queried, <pattern> is the
matching pattern, <source> is the pattern's source file, and <linenum>
is the line number of the pattern within that source.  If the pattern
contained a `!` prefix or `/` suffix, it will be preserved in the
output.  <source> will be an absolute path when referring to the file
configured by `core.excludesfile`, or relative to the repository root
when referring to `.git/info/exclude` or a per-directory exclude file.

If `-z` is specified, the pathnames in the output are delimited by the
null character; if `--verbose` is also specified then null characters
are also used instead of colons and hard tabs:

<source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>


EXIT STATUS
-----------

0::
	One or more of the provided paths is ignored.

1::
	None of the provided paths are ignored.

128::
	A fatal error was encountered.

SEE ALSO
--------
linkgit:gitignore[5]
linkgit:gitconfig[5]
linkgit:git-ls-files[5]

GIT
---
Part of the linkgit:git[1] suite
