Git

.gitignore Merge

Объединить несколько .gitignore шаблонов без дублей.

Как это работает

Монорепозиторий из трех проектов, у каждого свой .gitignore, а собрать это все в один файл для корня репозитория нужно без дублирующихся строчек node_modules, повторенных пять раз подряд. Gitignore merge online берет несколько .gitignore текстов и склеивает их в один, аккуратно убирая точные дубликаты строк.

Инструмент построчно проходит по всем вставленным файлам, сохраняет исходный порядок появления строк и комментариев, и просто не добавляет повторно то, что уже встречалось раньше в любом из объединяемых файлов.

Полезно применять при объединении .gitignore разных подпроектов монорепозитория в один общий файл, при слиянии шаблона IDE с шаблоном под конкретный стек технологий, или просто чтобы убрать накопившиеся за годы дубли из разросшегося .gitignore файла.

Частые вопросы

Сохраняются ли комментарии из исходных файлов при объединении?

Да, строки с комментариями переносятся в результат так же, как обычные правила, дубликаты комментариев тоже убираются, если строка текстуально совпадает полностью.

Что если одно и то же правило записано слегка по-разному, например с слешем и без?

Объединение убирает только точные текстовые совпадения строк, правила node_modules и node_modules со слешем в конце для инструмента это формально разные строки, стоит проверить результат глазами на такие случаи.

Можно ли объединить больше двух файлов за раз?

Да, в поля ввода можно вставить сколько угодно файлов подряд, каждый с новой строки, инструмент обработает их все за одну операцию.

Сохраняется ли порядок правил после объединения?

Да, порядок строк соответствует порядку их первого появления среди всех объединяемых файлов, ничего не пересортировывается по алфавиту или другому принципу.