126 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| git-check-ignore(1)
 | |
| ===================
 | |
| 
 | |
| NAME
 | |
| ----
 | |
| git-check-ignore - Debug gitignore / exclude files
 | |
| 
 | |
| 
 | |
| SYNOPSIS
 | |
| --------
 | |
| [verse]
 | |
| 'git check-ignore' [<options>] <pathname>...
 | |
| 'git check-ignore' [<options>] --stdin
 | |
| 
 | |
| DESCRIPTION
 | |
| -----------
 | |
| 
 | |
| For each pathname given via the command-line or from a file via
 | |
| `--stdin`, check whether the file is excluded by .gitignore (or other
 | |
| input files to the exclude mechanism) and output the path if it is
 | |
| excluded.
 | |
| 
 | |
| By default, tracked files are not shown at all since they are not
 | |
| subject to exclude rules; but see `--no-index'.
 | |
| 
 | |
| OPTIONS
 | |
| -------
 | |
| -q, --quiet::
 | |
| 	Don't output anything, just set exit status.  This is only
 | |
| 	valid with a single pathname.
 | |
| 
 | |
| -v, --verbose::
 | |
| 	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 '!'
 | |
| 	then it is a negated pattern and matching it means the path is
 | |
| 	NOT excluded.)
 | |
| +
 | |
| For precedence rules within and between exclude sources, see
 | |
| linkgit:gitignore[5].
 | |
| 
 | |
| --stdin::
 | |
| 	Read pathnames from the standard input, one per line,
 | |
| 	instead of from the command-line.
 | |
| 
 | |
| -z::
 | |
| 	The output format is modified to be machine-parsable (see
 | |
| 	below).  If `--stdin` is also given, input paths are separated
 | |
| 	with a NUL character instead of a linefeed character.
 | |
| 
 | |
| -n, --non-matching::
 | |
| 	Show given paths which don't 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't.
 | |
| 
 | |
| --no-index::
 | |
| 	Don't 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`.
 | |
| 
 | |
| 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>
 | |
| 
 | |
| 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 <pathname> 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't match any
 | |
| pattern, or that the output hadn't been generated yet.)
 | |
| 
 | |
| Buffering happens as documented under the `GIT_FLUSH` option in
 | |
| linkgit:git[1].  The caller is responsible for avoiding deadlocks
 | |
| caused by overfilling an input buffer or reading from an empty output
 | |
| buffer.
 | |
| 
 | |
| 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:git-config[1]
 | |
| linkgit:git-ls-files[1]
 | |
| 
 | |
| GIT
 | |
| ---
 | |
| Part of the linkgit:git[1] suite
 |