Задать вопрос

Как в git игнорировать все файлы, кроме нескольких, расположенных в разных дочерхних каталогах?

Дано: папка с дочерними папками, всего несколько сотен тысяч файлов, абсолютное большинство из которых меняться точно не будет; в корне этой папки поднят новый репозиторий 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

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

спасибо!
  • Вопрос задан
  • 3370 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 2
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
поднят новый репозиторий git, пока пустой; в дальнейшем изменения будут в нескольких (совершенно разных) папках, эти изменения и нужно отслеживать. Добавлять огромную кучу статических файлов нет никакого желания, трекать нужно только то, что нужно.

Сделайте git add только для файлов которые нужно трекать и всё. Не пишите ничего в .gitignore, у вас будет 100500 untracked files, и что с того.
Ответ написан
@xandox
 а так пробовал?
/**
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽