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

Как сделать исключение в .gitignore?

Есть структура директорий вида:
.
└── states
    ├── project1
    │   ├── keys
    │   │   ├── pk1
    │   │   └── pk1.pub
    │   └── setup.tf
    └── project2
        ├── keys
        │   ├── pk2
        │   └── pk2.pub
        └── setup.tf


Как в корневом gitignore прописать правила. чтобы во всех директориях keys не игнорировался *.pub файл?

Следующие правила не работают, все keys директории игнорируются
keys/
!keys/*.pub
  • Вопрос задан
  • 131 просмотр
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Решения вопроса 3
saboteur_kiev
@saboteur_kiev Куратор тега Git
software engineer
It is not possible to re-include a file if a parent directory of that file is excluded. Git doesn’t list excluded directories for performance reasons, so any patterns on contained files have no effect, no matter where they are defined.

Можно только добавить разово .pub руками.
Ответ написан
AshBlade
@AshBlade
Просто хочу быть счастливым
Используй -f ключ:
git add -f states/project1/keys/pk1.pub

Если файл игнорируется, то git add не будет делать автодополнение (в моем случае есть плагин для git - он не работает). Но однажды добавив его - изменения будут отслеживаться
Ответ написан
Комментировать
delphinpro
@delphinpro
frontend developer
В каждую директорию keys добавить свой гитигнор следующего содержания

*
!.gitignore
!*.pub


Либо попробовать в корневом

**/keys/*
!**/keys/*.pub


Первый вариант стопроцентный. Второй - хз.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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