'\" t .\" Title: git-check-ignore .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 05/28/2018 .\" Manual: Git Manual .\" Source: Git 2.1.4 .\" Language: English .\" .TH "GIT\-CHECK\-IGNORE" "1" "05/28/2018" "Git 2\&.1\&.4" "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 [options] pathname\&... \fIgit check\-ignore\fR [options] \-\-stdin < .fi .sp .SH "DESCRIPTION" .sp 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\&. .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 Also output details about the matching pattern (if any) for each given pathname\&. .RE .PP \-\-stdin .RS 4 Read file names from stdin instead of from the command\-line\&. .RE .PP \-z .RS 4 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\&. .RE .PP \-n, \-\-non\-matching .RS 4 Show given paths which don\(cqt match any pattern\&. This only makes sense when \-\-verbose 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\&. git add \&. 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 git add \-f\&. .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 \-\-verbose is specified, the output is a series of lines of the form: .sp .sp is the path of a file being queried, is the matching pattern, is the pattern\(cqs source file, and 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\&. 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\&. .sp 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: .sp .sp If \-n or \-\-non\-matching are specified, non\-matching pathnames will also be output, in which case all fields in each output record except for will be empty\&. This can be useful when running non\-interactively, so that files can be incrementally streamed to STDIN of a long\-running check\-ignore process, and for each of these files, STDOUT will indicate whether that file matched a pattern or not\&. (Without this option, it would be impossible to tell whether the absence of output for a given file meant that it didn\(cqt match any pattern, or that the output hadn\(cqt been generated yet\&.) .sp Buffering happens as documented under the GIT_FLUSH option in \fBgit\fR(1)\&. The caller is responsible for avoiding deadlocks caused by overfilling an input buffer or reading from an empty output buffer\&. .SH "EXIT STATUS" .PP 0 .RS 4 One or more of the provided paths is ignored\&. .RE .PP 1 .RS 4 None of the provided paths are ignored\&. .RE .PP 128 .RS 4 A fatal error was encountered\&. .RE .SH "SEE ALSO" .sp \fBgitignore\fR(5) \fBgitconfig\fR(5) \fBgit-ls-files\fR(1) .SH "GIT" .sp Part of the \fBgit\fR(1) suite