SYNOPSIS

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

DESCRIPTION

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

デフォルトでは、追跡中のファイル(tracked files)は除外ルールの対象ではないため、まったく表示されません。但し、 ‘--no-index’ もご覧下さい。

OPTIONS

-q, --quiet

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

-v, --verbose

除外されたパスを出力する代わりに、除外パターンに一致するパスごとに、パスと一緒に除外パターンを出力します。 (通常、除外パターンに一致することはパスが除外されることを意味しますが、パターンが "!" で始まる場合、それは否定パターンであり、一致することはパスが除外されないことを意味します。)

除外ソース内および除外ソース間の優先ルールについては、 gitignore(5) を参照してください。

--stdin

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

-z

出力フォーマットは、マシン解析可能になるように変更されます(以下を参照)。 --stdin も指定されている場合、入力パスは改行文字ではなくNUL文字で区切られます。

-n, --non-matching

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

--no-index

チェックを行うときにインデックスを調べません。これは、例えば git add . で追跡されたパスが、ユーザーの期待通りにルールで無視されなかった場合のデバッグに使用できます。また、以前に git add -f で追加したパスにマッチするように、否定を含むパターンを開発するときにも使用できます。

OUTPUT

デフォルトでは、指定されたパス名のうち無視パターンに一致するパスが1行に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> を除く各出力レコードのすべてのフィールドが空になります。これは、非対話的に実行する場合に役立ちます。これにより、ファイル達を長時間実行されるチェック無視プロセスのSTDINに段階的にストリーミングでき、これらのファイルごとに、STDOUTはそのファイルがパターンに一致するかどうかを示します。 (このオプションがないと、特定のファイルの出力がないということは、どのパターンとも一致しなかったのか、出力がまだ生成されていないのかを判断することはできません。)

バッファリングは、 git(1)GIT_FLUSH オプションに記載されているように行われます。呼び出し元は、入力バッファーのオーバーフィルまたは空の出力バッファーからの読み取りによって引き起こされるデッドロックを回避する責任があります。

EXIT STATUS

0

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

1

提供されたパスはどれも無視されません。

128

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

SEE ALSO

GIT

Part of the git(1) suite