Для исключения всех файлов и папок, кроме определенной папки и файла с расширением ".майский" (например, "file.майский"), мы можем создать файл .gitignore в корневой папке проекта и добавить следующие строки в него:
# Исключаем все файлы * # За исключением .gitignore !.gitignore # За исключением папки !folder/ # За исключением файла с майской !*.майский # Исключаем все файлы в папке, кроме файла с майской folder/* !folder/*.майский
Комментарии в файле .gitignore помогут нам понять, как именно работают эти правила.
Первая строка *
означает, что все файлы в корневой папке проекта должны быть исключены.
Вторая строка !.gitignore
отменяет первое правило и включает файл .gitignore.
Третья строка !folder/
отменяет первое правило и включает папку с именем "folder".
Четвертая строка !*.майский
отменяет первое правило и включает все файлы с расширением ".майский".
Пятая строка folder/*
говорит Git исключить все файлы внутри папки "folder".
Шестая строка !folder/*.майский
отменяет предыдущее правило и включает только файлы с расширением ".майский" внутри папки "folder".
Таким образом, с помощью этих правил мы можем указать Git'у, чтобы он игнорировал все файлы и папки, кроме папки "folder" и файлов с майской внутри неё.