Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.43.1 → 2.50.0 no changes
-
2.43.0
2023-11-20
- 2.36.1 → 2.42.4 no changes
-
2.36.0
2022-04-18
- 2.25.3 → 2.35.8 no changes
-
2.25.2
2020-03-17
- 2.25.1 no changes
-
2.25.0
2020-01-13
- 2.18.1 → 2.24.4 no changes
-
2.18.0
2018-06-21
- 2.9.5 → 2.17.6 no changes
-
2.8.6
2017-07-30
- 2.7.6 no changes
-
2.6.7
2017-05-05
- 2.5.6 no changes
-
2.4.12
2017-05-05
-
2.3.10
2015-09-28
- 2.1.4 → 2.2.3 no changes
-
2.0.5
2014-12-17
説明
コマンドラインまたは --stdin
を介して与えられた各パス名について、そのファイルが .gitignore(または除外機構の他の入力ファイル)により除外されているかをチェックし、除外されていればそのパスを出力します。
デフォルトでは、追跡中のファイルは除外ルールの対象にならないため、一切表示されません。ただし、--no-index
を参照してください。
オプション
- -q, --quiet
-
何も出力せず、終了ステータスのみを設定します。これは単一のパス名に対してのみ有効です。
- -v, --verbose
-
除外されるパスを単に出力するのではなく、各パスが除外パターンに一致した場合、その除外パターンとともにパスを出力します。(除外パターンに一致するということは通常、そのパスが除外されることを意味しますが、パターンが "
!
" で始まる場合は否定パターンとなり、一致してもそのパスは除外されないことを意味します。)除外ソース内および間の優先順位ルールについては、gitignore[5] を参照してください。
- --stdin
-
標準入力から1行ずつパス名を読み込みます。
- -z
-
出力形式は機械可読となるように変更されます(下記参照)。さらに、
--stdin
が指定された場合、入力パスは改行の代わりに NUL 文字で区切られます。 - -n, --non-matching
-
どのパターンにも一致しない指定されたパスを表示します。これは
--verbose
が有効なときにのみ意味を成し、一致するか否かが識別できなくなってしまいます。 - --no-index
-
チェックの際にインデックスを参照しません。これは、例えば
git add .
によってなぜパスが追跡対象となり、ユーザーの期待通りにルールで無視されなかったのか、またはgit add -f
で追加されたパスに一致する否定パターンを開発する際のデバッグに使用できます。
OUTPUT
デフォルトでは、指定されたパス名が ignore パターンに一致すると、そのパスが1行ずつ出力されます。もしどのパターンにも一致しなければ、そのパスについては何も出力されません。つまり、そのパスは無視されないことを意味します。
もし --verbose
が指定されると、出力は次の形式の一連の行となります:
<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>
<pathname> は照会されるファイルのパス、<pattern> は一致したパターン、<source> はパターンのソースファイル、そして <linenum> はそのソース内でのパターンの行番号です。パターンに "!
" のプレフィックスまたは "/
" のサフィックスが含まれている場合、出力時にそのまま保持されます。<source> は、core.excludesFile
で設定されたファイルを指す場合は絶対パスになり、.git/info/exclude
または各ディレクトリの除外ファイルを指す場合はリポジトリルートからの相対パスとなります。
もし -z
が指定されると、出力されるパス名はヌル文字で区切られます。また、--verbose
が指定された場合、コロンやハードタブの代わりにヌル文字が使用されます:
<source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>
もし -n
または --non-matching
が指定されると、非一致のパス名も出力され、その場合、各出力レコードにおいて <pathname> を除くすべてのフィールドが空になります。これは、対話的でない実行時に、ファイルを長時間動作する check-ignore プロセスの STDIN に順次送信でき、各ファイルごとに STDOUT がそのファイルがパターンに一致したか否かを示すために有用です。(このオプションなしでは、あるファイルについて出力がない場合に、そのファイルがパターンに一致しなかったのか、あるいはまだ出力が生成されていないのかを判断することは不可能になります。)
バッファリングは git[1] の GIT_FLUSH
オプションに記載されている通りに行われます。呼び出し側は、入力バッファの過剰な充填や出力バッファの空読みから生じるデッドロックを回避する責任があります。
GIT
Part of the git[1] suite