У меня следующая структура каталогов и файлов.
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].