Игнорировать все в определенном каталоге, но исключить некоторые файлы в игнорируемом каталоге - PullRequest
2 голосов
/ 05 мая 2019

В моем git-репо у меня есть несколько каталогов.Я полностью игнорирую Один из многих каталогов.Но я хочу исключить (белый список) один файл, который вложен в этот каталог.Примерно так

!*/Databases/
!Databases/Links_Databases.txt
!Databases/AFLW/README.txt

Здесь вторая строка работает, но третья строка не работает.Вложенный файл README.txt по-прежнему игнорируется.Как я могу внести в белый список этот файл?

Я нашел несколько ответов здесь: Один , два и три .Но представленные здесь решения игнорируют все в корневом каталоге.Мне придется вручную занести в белый список другие каталоги, которые я хочу включить.Таким образом, это не отвечало моим целям.

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

1 Ответ

2 голосов
/ 05 мая 2019

Вы должны 'unignore' каталог, в котором находится файл:

# Ignore all contents of Databases directory
Databases/*
# Except this direct child file
!Databases/Links_Databases.txt
# And the relevant subdir
!Databases/AFLW/
# Ignore all contents in subdir
Databases/AFLW/*
# Except this file we want to keep
!Databases/AFLW/README.txt

Хотя это не является строго дубликатом, в ответах есть очень похожий вопрос с хорошими объяснениями: .gitignore исключить папку, но включает определенную подпапку

...