Как сделать git игнорировать группу подкаталогов с шаблоном gitignore?

У меня есть каталог projects/ в корневом каталоге. корневой каталог добавляется в git. В проектах у меня несколько подкаталогов. Но я хочу отслеживать только projects/admin не projects/x и projects/y. Что игнорировать правило, которое мне нужно написать в .gitignore?

Ответы

Ответ 1

Вы можете использовать предложения отрицательного игнорирования, например:

project/*
!project/admin
!project/admin/*

Ответ 2

projects/*
!projects/admin

Префикс ! перед строкой отрицает его; то есть каталог или файл, указанные в этой строке, не будут игнорироваться.

Ответ 3

Вы можете поместить файл .gitignore непосредственно в каталог projects, и это повлияет только на этот каталог.

Итак, в projects/.gitignore просто поставьте:

admin
x
etc

Ответ 4

Вы можете добавить .gitignore в каждую папку, которую вы не хотите отслеживать, запустив touch project/x/.gitignore. Git будет игнорировать содержимое каждой из этих папок.