ファイルパスの基準をそろえる
候補は.gitignoreを置いたディレクトリからの相対パスです。build/はディレクトリ、buildはファイルとして扱います。規則の先頭/は基準位置への固定ですが、候補の先頭/は無効です。ファイル名の空白はそのまま保持されます。
パスと除外規則
ルートにある一つの.gitignoreと候補パスを検証します。ディレクトリは末尾に/を付けてください。
規則と候補文字列はこのブラウザー内で処理します。リポジトリの読み取りや変更はしません。
候補パスを一つ以上入力してください。
この.gitignoreからの相対パスを/で区切り、ディレクトリには末尾/を付けます。絶対パス、ドライブ名、逆斜線、空の区間、.と..は無効です。空白は保持します。
ルートの.gitignore一つで未追跡パスを評価。大文字小文字を区別しUTF-8バイトで比較します。下位規則、グローバル規則、索引、ファイルシステムは読みません。
物理規則50行、空でない候補200行まで。一規則256文字、一パス512文字、32区間まで。制御文字は不可。バックグラウンド処理は2秒で終了します。
結果が古いか、計算中です。
否定規則に正しい名前を書いても、親が除外されていればファイルは戻りません。Gitignoreテスターは、この見落としやすい違いを親パスと行番号で示します。ファイル名に一致する行だけを探すより、原因を絞り込めます。
変更案を試すときは、除外したいファイルと残したいファイルを一緒に入力してください。Gitignoreパターンを一行ずつ追加した時点の全体の判定を残すので、順序を変えた影響も追えます。
build/はディレクトリ自体を除外するため、!build/keep.txtでは子を戻せません。一方、cache/*ならcache/を通れるので!cache/keep.txtが働きます。Gitignoreテスターはこの差を親ディレクトリの情報とともに示します。
除外、再包含、再除外という順序を結果だけで読み解くのは困難です。履歴には空行やコメントを含む各行の後の判定が並びます。決定行が前の行のままなら、その段階では後から加えた行が結果を変えていないことが分かります。
候補は.gitignoreを置いたディレクトリからの相対パスです。build/はディレクトリ、buildはファイルとして扱います。規則の先頭/は基準位置への固定ですが、候補の先頭/は無効です。ファイル名の空白はそのまま保持されます。
履歴を開き、どの親が除外されたか確認してください。必要なら親を再包含するか、cache/*のように内容だけを対象にします。履歴の各段階は規則全体を再評価した結果であり、その段階に追加した行との直接一致ではありません。
自動実行は編集後350ミリ秒待ってから始まります。オフにすると実行ボタンとCtrl/Cmd+Enterを使えます。編集直後は旧レポートの出力を停止します。例とクリアはプレビュー後に適用し、元に戻す操作で入力と結果を復元できます。
ignore 7.0.9の公開APIで*、?、文字範囲、**を扱います。大文字小文字を区別し、UTF-8バイト単位で比較するため、?一つで日本語一文字を表すことはできません。波括弧展開や正規表現を追加の構文として解釈しません。
コメントや空行を除去して番号を詰めることはありません。到達できる各パスでは最後に一致した規則が決定します。同じ除外規則を繰り返しても、最初ではなく最後の一致行を表示します。親から継承した除外も区別します。
JSONには元のパス、規則、全段階の履歴を保存します。TSVはディレクトリ区分、除外状態、決定行、規則、親の一覧です。数式に見えるセルには保護用のアポストロフィを加えます。表示が50件でもレポートには全候補を含めます。
除外された親にはGitが入らないためです。子ファイルの否定規則だけでは親を再包含できません。先に親を戻すか、build/*で内容を除外してから特定の子を戻してください。Gitignoreテスターは遮断している親を表示します。
buildはどの深さでも同じ名前に一致します。/buildはこの.gitignoreのある位置に固定されます。規則の途中に/がある場合も基準位置からの相対指定です。buildとsrc/buildを候補にすると差を確認できます。
いいえ。末尾/の規則はディレクトリ専用です。候補logs/はディレクトリ、logsは通常ファイルとして評価します。実際のファイルシステムを調べないため、この区別は入力で指定する必要があります。
先頭の**/は任意の深さ、末尾の/**は子孫、a/**/bは間にゼロ個以上のディレクトリがある場合に一致します。単独の*と?は/を越えません。?はUTF-8の一バイトなので、多バイト文字全体には一致しません。
追跡済みファイルに.gitignoreを追加しても追跡状態は変わりません。このツールは索引を見ず、未追跡として候補を評価します。実際のリポジトリで追跡状態を確認してから、git statusとの差を判断してください。
確認したいパスの事例がありますか?