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