日本語 ▾ トピック ▾ 最新バージョン ▾ git-check-ignore は 2.43.0 で最終更新されました

名前

git-check-ignore - gitignore / 除外ファイルのデバッグ

概要

git check-ignore [<options>] <pathname>…​
git check-ignore [<options>] --stdin

説明

コマンドライン経由、または--stdinでファイルから与えられた各パス名について、そのファイルが.gitignore(または除外メカニズムへの他の入力ファイル)によって除外されているかどうかを確認し、除外されている場合はそのパスを出力します。

デフォルトでは、追跡対象のファイルは除外ルールの対象ではないため、一切表示されません。ただし、`--no-index`を参照してください。

オプション

-q, --quiet

何も出力せず、終了ステータスを設定するだけです。これは単一のパス名でのみ有効です。

-v, --verbose

除外されるパスを出力する代わりに、除外パターンに一致する各パスについて、そのパスとともに除外パターンを出力します。(除外パターンに一致するということは通常、そのパスが除外されることを意味しますが、パターンが「!」で始まる場合は否定パターンであり、それに一致することはそのパスが除外されないことを意味します。)

除外元の内部および間の優先順位ルールについては、gitignore[5]を参照してください。

--stdin

コマンドラインからではなく、標準入力から1行に1つずつパス名を読み込みます。

-z

出力形式は機械がパースできるように変更されます(下記参照)。`--stdin`も指定された場合、入力パスは改行文字の代わりにNUL文字で区切られます。

-n, --non-matching

どのパターンにも一致しない指定されたパスを表示します。これは`--verbose`が有効な場合にのみ意味があり、そうでない場合はパターンに一致するパスと一致しないパスを区別することができません。

--no-index

チェックを行う際にインデックスを参照しません。これは、`git add .`などでパスがなぜ追跡されるようになったのか、ユーザーの期待通りにルールで無視されなかったのか、あるいは`git add -f`で以前に追加されたパスに一致するように否定を含むパターンを開発する際にデバッグするために使用できます。

出力

デフォルトでは、指定されたパス名のうち、無視パターンに一致するものが1行に1つずつ出力されます。指定されたパスにどのパターンも一致しない場合、そのパスについては何も出力されません。これは、そのパスが無視されないことを意味します。

--verboseが指定された場合、出力は以下の形式の一連の行になります。

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

<pathname>は照会中のファイルのパス、<pattern>は一致するパターン、<source>はパターンのソースファイル、<linenum>はそのソース内のパターンの行番号です。パターンに「!」プレフィックスまたは「/」サフィックスが含まれている場合、それは出力に保持されます。<source>は`core.excludesFile`によって設定されたファイルを参照する場合は絶対パスになり、`.git/info/exclude`またはディレクトリごとの除外ファイルを参照する場合はリポジトリのルートからの相対パスになります。

-zが指定された場合、出力中のパス名はNULL文字で区切られます。--verboseも指定された場合、コロンとハードタブの代わりにNULL文字が使用されます。

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

-nまたは--non-matchingが指定された場合、一致しないパス名も出力されます。この場合、<pathname>を除く各出力レコードのすべてのフィールドは空になります。これは非対話的に実行する場合に便利で、ファイルが長時間実行されるcheck-ignoreプロセスの標準入力に段階的にストリームされ、これらの各ファイルについて、そのファイルがパターンに一致したかどうかを標準出力が示します。(このオプションがない場合、特定のファイルに出力がないことが、どのパターンにも一致しなかったことを意味するのか、またはまだ出力が生成されていないのかを判断することは不可能でしょう。)

バッファリングは、git[1]の`GIT_FLUSH`オプションで説明されているとおりに行われます。呼び出し元は、入力バッファの過充填や空の出力バッファからの読み取りによって引き起こされるデッドロックを回避する責任があります。

終了ステータス

0

指定されたパスの1つ以上が無視されます。

1

指定されたパスはどれも無視されません。

128

致命的なエラーが発生しました。

GIT

git[1]スイートの一部

scroll-to-top