Перейти к содержанию

Тестер правил .gitignore

Проверьте, какие правила .gitignore игнорируют каждый путь, и почему.

Входные данные
Пути для проверки
Выходные данные

Тестер правил .gitignore

Вставьте файл .gitignore в первое поле и список путей файлов или папок во второе, и этот инструмент расскажет вам, что происходит с каждым: игнорируется он или нет, и какая строка набора правил это решила. Он создан для момента, когда файл, который вы ожидали отслеживать, появляется в выводе git status, или артефакт сборки, который вы считали исключённым, случайно коммитится.

Соответствие следует реальной семантике .gitignore: правила оцениваются по порядку, и последнее совпадающее правило побеждает, поэтому широкое "*.log" ранее в файле может быть переопределено более узким "!important.log" позже. Косая черта в конце отмечает правило как только для директорий, и игнорирование директории также игнорирует всё внутри неё — "node_modules/" ловит "node_modules/react/index.js" тоже, не только саму папку. Поддерживаются одиночные подстановочные символы "*" и рекурсивные "**" в любой позиции.

Отключите учёт регистра, чтобы проверить файловые системы, которые не различают заглавные и строчные буквы, переключитесь между таблицей результатов и двумя простыми списками игнорируемых и не игнорируемых путей, или скройте пути, к которым не применилось никакое правило, чтобы сосредоточиться на том, что на самом деле делают ваши правила. Предупреждение об неиспользуемых правилах отмечает любую строку, которая не совпадала с проверяемым путём — часто это опечатка или правило, оставшееся после переименования папки. Окончания строк Windows и Unix обрабатываются одинаково в обоих полях, и счётчик под выводом отображает количество протестированных путей, игнорируемых путей и неиспользуемых правил.

Всё работает в вашем браузере; ни ваши правила .gitignore, ни список путей никогда не загружаются. Скопируйте отчёт, загрузите его как файл .txt или отправьте его обратно на вход, чтобы протестировать другую партию путей.

FAQ

Это читает мои реальные файлы проекта?
Нет. Вы вставляете правила .gitignore и пути сами — инструмент никогда не касается реальной файловой системы или репозитория.
Почему файл внутри игнорируемой папки показывается как игнорируемый, хотя ни одно правило не упоминает его имя?
Правило для директории, такое как "build/", игнорирует папку и всё внутри неё. Отчёт указывает на правило директории, которое сделало выбор, а не на отсутствующее правило для конкретного файла.
Могу ли я повторно включить файл с "!" после исключения его родительской папки?
Этот инструмент применяет правила отрицания по порядку, как это делает git, но у реального git есть дополнительное ограничение: он не будет повторно включать файл, чья родительская директория уже исключена. Помните об этом для правил отрицания, вложенных в игнорируемые папки.
Что означает "правила, которые никогда не срабатывают"?
Это список каждого правила в вашем .gitignore, которое не совпадало ни с одним из протестированных путей — полезный способ обнаружить опечатку или правило, которое больше не относится к вашему проекту.
Мой файл .gitignore или список путей загружаются куда-нибудь?
Нет. Сопоставление работает полностью в вашем браузере — ничего из того, что вы вставляете сюда, никогда не покидает ваше устройство.