'\" t
.\" Title: git-check-ignore
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 10/07/2024
.\" Manual: Git Manual
.\" Source: Git 2.47.0
.\" Language: English
.\"
.TH "GIT\-CHECK\-IGNORE" "1" "10/07/2024" "Git 2\&.47\&.0" "Git Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-check-ignore \- Debug gitignore / exclude files
.SH "SYNOPSIS"
.sp
.nf
\fIgit check\-ignore\fR [] \&...
\fIgit check\-ignore\fR [] \-\-stdin
.fi
.sp
.SH "DESCRIPTION"
.sp
For each pathname given via the command\-line or from a file via \fB\-\-stdin\fR, check whether the file is excluded by \&.gitignore (or other input files to the exclude mechanism) and output the path if it is excluded\&.
.sp
By default, tracked files are not shown at all since they are not subject to exclude rules; but see \(oq\-\-no\-index\(cq\&.
.SH "OPTIONS"
.PP
\-q, \-\-quiet
.RS 4
Don\(cqt output anything, just set exit status\&. This is only valid with a single pathname\&.
.RE
.PP
\-v, \-\-verbose
.RS 4
Instead of printing the paths that are excluded, for each path that matches an exclude pattern, print the exclude pattern together with the path\&. (Matching an exclude pattern usually means the path is excluded, but if the pattern begins with "\fB!\fR" then it is a negated pattern and matching it means the path is NOT excluded\&.)
.sp
For precedence rules within and between exclude sources, see
\fBgitignore\fR(5)\&.
.RE
.PP
\-\-stdin
.RS 4
Read pathnames from the standard input, one per line, instead of from the command\-line\&.
.RE
.PP
\-z
.RS 4
The output format is modified to be machine\-parsable (see below)\&. If
\fB\-\-stdin\fR
is also given, input paths are separated with a NUL character instead of a linefeed character\&.
.RE
.PP
\-n, \-\-non\-matching
.RS 4
Show given paths which don\(cqt match any pattern\&. This only makes sense when
\fB\-\-verbose\fR
is enabled, otherwise it would not be possible to distinguish between paths which match a pattern and those which don\(cqt\&.
.RE
.PP
\-\-no\-index
.RS 4
Don\(cqt look in the index when undertaking the checks\&. This can be used to debug why a path became tracked by e\&.g\&.
\fBgit add \&.\fR
and was not ignored by the rules as expected by the user or when developing patterns including negation to match a path previously added with
\fBgit add \-f\fR\&.
.RE
.SH "OUTPUT"
.sp
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\&.
.sp
If \fB\-\-verbose\fR is specified, the output is a series of lines of the form:
.sp