You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
4.1 KiB
126 lines
4.1 KiB
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
|
|
|