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

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

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


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

Следующие правила не работают, все keys директории игнорируются
keys/
!keys/*.pub
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Простой 5 комментариев
Решения вопроса 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


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

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

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект