Дано: папка с дочерними папками, всего несколько сотен тысяч файлов, абсолютное большинство из которых меняться точно не будет; в корне этой папки поднят новый репозиторий git, пока пустой; в дальнейшем изменения будут в нескольких (совершенно разных) папках, эти изменения и нужно отслеживать. Добавлять огромную кучу статических файлов нет никакого желания, трекать нужно только то, что нужно.
Задача: что прописать в .gitignore, чтобы не хранить всю кучу файлов, а работать лишь с несколькими из них?
В идеале решение должно выглядеть как-то так:
/*
!/first/change/for/tracking/file01.txt
!/second/small/change/file02.txt
# и так далее
Но, к сожалению, git не дает сделать это так просто. Вместо такой записи предлагается игнорить все файлы в каждой папке отдельно для каждого уровня, пока не доберусь до итогового файла:
/*
!/first
/first/*
!/first/change
/first/change/*
!/first/change/for
/first/change/for/*
!/first/change/for/tracking
/first/change/for/tracking/*
!/first/change/for/tracking/file01.txt
и так для каждого файла. вариант очень муторный и долгий, с учетом того, что вложенность может быть достаточно глубокой, а файлов будет несколько десятков, причем они будут добавляться в процессе разработки. для каждого прописывать такой путь тяжело. может быть есть какие-нибудь расширения, позволяющие обойтись малой кровью и просто указать полный путь к каждому игнорируемому файлу?
спасибо!