directory search
Guides gitattributes giteveryday gitglossary gitignore gitmodules gitrevisions gittutorial gitworkflows Administration git archive git bundle git clean git filter-branch git fsck git gc git instaweb git reflog Basic Snapshotting git add git commit git diff git mv git reset git rm git status Branching and Merging git branch git checkout git log git merge git mergetool git stash git tag Debugging git bisect git blame git grep Email git am git format-patch git request-pull git send-email External Systems git fast-import git svn Getting and Creating Projects git clone git init Git git annotate git archimport git bisect-lk2009 git check-attr git check-mailmap git check-ref-format git checkout-index git cherry git citool git column git credential git credential-cache git credential-store git cvsexportcommit git cvsimport git cvsserver git diff-files git diff-tree git difftool git fast-export git fetch-pack git fmt-merge-msg git get-tar-commit-id git gui git http-backend git http-fetch git http-push git imap-send git index-pack git interpret-trailers git ls-remote git ls-tree git mailinfo git mailsplit git merge-file git merge-index git merge-one-file git merge-tree git mktag git mktree git name-rev git notes git p4 git pack-objects git pack-redundant git pack-refs git parse-remote git patch-id git prune git prune-packed git quiltimport git receive-pack git remote-ext git remote-fd git remote-testgit git repack git replace git rerere git send-pack git sh-i18n git sh-setup git shell git show-branch git show-index git stripspace git unpack-file git unpack-objects git upload-archive git upload-pack git var git verify-commit git verify-tag git whatchanged git worktree Inspection and Comparison git describe git shortlog git show Miscellaneous api credentials api index gitcli gitcore tutorial gitcredentials gitcvs migration gitdiffcore githooks gitk gitnamespaces gitremote helpers gitrepository layout gitsubmodules gittutorial 2 gitweb gitweb.conf pack format User Manual Patching git apply git cherry-pick git rebase git revert Plumbing Commands git cat-file git check-ignore git commit-tree git count-objects git diff-index git for-each-ref git hash-object git ls-files git merge-base git read-tree git rev-list git rev-parse git show-ref git symbolic-ref git update-index git update-ref git verify-pack git write-tree Server Admin git daemon git update-server-info Setup and Config git git config git help Sharing and Updating Projects git fetch git pull git push git remote git submodule
characters

命名

git-check-ignore  - 调试 gitignore /排除文件

概要

git check-ignore [options] pathname…
git check-ignore [options] --stdin

描述

对于通过命令行或文件via给出的每个路径名--stdin,检查该文件是否被.gitignore(或排除机制的其他输入文件)排除,并输出路径(如果排除)。

默认情况下,跟踪文件根本不显示,因为它们不受排除规则限制; 但看到 '--no-index' 。

选项

-q, --quiet

不输出任何内容,只需设置退出状态即可。这只对一个路径名有效。

-v, --verbose

还输出有关每个给定路径名的匹配模式(如果有)的详细信息。有关排除源内部和之间的优先规则,请参阅 gitignore [5]。

--stdin

从标准输入读取路径名,每行一个,而不是命令行。

-z

输出格式被修改为机器可分析的(见下文)。如果--stdin还给出,输入路径用NUL字符而不是换行字符分隔。

-n, --non-matching

显示与任何模式不匹配的给定路径。这仅在--verbose启用时才有意义,否则将无法区分匹配模式的路径和不匹配的路径。

--no-index

进行检查时不要查看索引。这可以用来调试为什么路径被例如跟踪,git add .并且不被用户期望的规则忽略,或者当开发包括否定的模式以匹配先前添加的路径时git add -f

输出

默认情况下,将输出与忽略模式匹配的任何给定路径名,每行一个。如果没有模式匹配给定的路径,则不会为该路径输出任何内容; 这意味着路径不会被忽略。

如果--verbose指定,输出是一系列格式的行:

<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>

<pathname>是被查询文件的路径,<pattern>是匹配模式,<source>是模式的源文件,<linenum>是该源文件中模式的行号。如果模式包含!前缀或/后缀,它将保留在输出中。引用core.excludesFile或相对于存储库根.git/info/exclude目录指定的文件或每个目录排除文件时,<source>将是绝对路径。

如果-z指定,则输出中的路径名由空字符分隔; 如果--verbose也被指定,则也使用空字符而不是冒号和硬标签:

<source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>

如果-n或者--non-matching被指定,则也会输出不匹配的路径名,在这种情况下,每个输出记录中除<pathname>之外的所有字段都将为空。这在非交互式运行时非常有用,因此文件可以增量流式传输到长时间运行的检查忽略进程的STDIN,并且对于其中的每个文件,STDOUT都会指示该文件是否匹配模式。(如果没有这个选项,就不可能判断给定文件的输出缺失是否意味着它不匹配任何模式,或者输出还没有生成。)

缓冲发生GIT_FLUSH在git [1]中的选项下。调用者负责避免溢出输入缓冲区或从空输出缓冲区读取引起的死锁。

退出状态

0

一个或多个提供的路径被忽略。

1

没有提供的路径被忽略。

128

遇到致命错误。

Previous article: Next article: