Back to main site | Back to man page index

GIT-CHECK-IGNORE(1)                                   Git Manual                                  GIT-CHECK-IGNORE(1)



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

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