Git игнорировать все, кроме файлов и папок в этих папках, соответствующих шаблону - PullRequest
1 голос
/ 04 июля 2019

Я хочу, чтобы git ignore игнорировал все, кроме тех файлов и папок, которые являются подпапками всех папок, соответствующих указанному шаблону имени.

пример структуры файла:

 - .temp
 - stuff/
 - readme.txt
 - crap/pattern/more/stuff
 - crap/pattern/.temp
 - crap/pattern_test/
 - crap/more/pattern_test/

То, чего я хочу достичь, теперь выглядит примерно так:

/*
/*/
!.gitignore
!*/pattern*/*

Так что из верхнего примера я бы хотел, чтобы git не игнорировал:

 - crap/pattern/*
 - crap/pattern/more/*
 - crap/pattern/more/stuff/*
 - crap/pattern_test/*
 - crap/more/pattern_test/*

Это возможно? Я попробовал много моделей без какого-либо успеха:

!/pattern*/*
!/pattern*/
!*/pattern*/*
!*/pattern/*
...

1 Ответ

2 голосов
/ 04 июля 2019

Вы можете настроить свой файл .gitignore следующим образом:

# Ignore everything by default
*
# Whitelist the .gitignore file
!.gitignore
# Whitelist folders at any level
!**/*/
# Whitelist every file under folders that match the pattern at any level
!/**/pattern*/**/* 
...