У меня есть следующая структура и файлы каталогов.
pw-spec/
|-- event_spec.coffee
|-- event_spec.js
|-- integration
| `-- service
| |-- auth_spec.coffee
| |-- auth_spec.js
| |-- chat_spec.coffee
| |-- chat_spec.js
| |-- transport_spec.coffee
| `-- transport_spec.js
|-- message_spec.coffee
|-- message_spec.js
|-- pw_spec.coffee
|-- pw_spec.js
|-- run.coffee
|-- run.html
|-- run.js
|-- service
| |-- auth_spec.coffee
| |-- auth_spec.js
| |-- chat_spec.coffee
| |-- chat_spec.js
| |-- stream_spec.coffee
| `-- stream_spec.js
|-- spec.coffee
|-- spec.js
`-- stub
|-- stream.coffee
|-- stream.js
|-- transport.coffee
`-- transport.js
4 directories, 27 files
Я хотел бы игнорировать все файлы *.js
в любом месте каталога pw-spec
.
Однако добавление следующих шаблонов в .gitignore
не сокращает его:
pw-spec/*.js
pw-spec/**/*.js
Проблема заключается в том, что вторая соответствует только js файлам, которые имеют ровно 1 уровень
глубоко внутри дерева, в то время как я хочу сопоставить все js файлы в pw-spec
.
Выполнение
ls pw-spec/**/*.js
создает [1]:
pw-spec/service/auth_spec.js
pw-spec/service/chat_spec.js
pw-spec/service/stream_spec.js
pw-spec/stub/stream.js
pw-spec/stub/transport.js
Как вы можете видеть
pw-spec/integration/service/auth_spec.js
pw-spec/integration/service/chat_spec.js
pw-spec/integration/service/transport_spec.js
отсутствуют в [1].