私はこのようなプロジェクトを持っています:
_root
|-incl1
|-incl2
|- ...
|-excl1
|-excl2
|- .gitignore <-- keep this one
|- (other files) <-- exclude them
_
_excl1
_と_excl2
_を除くすべてのフォルダーを含むgulp.src()
を記述する必要がありますbut _.gitignore
_ファイルを保持します。
これは動作しない私のコードです:
_gulp.src([
baseDir + '/**',
'!' + baseDir + '/{excl1, excl1/**}'
'!' + baseDir + '/excl2/{**, !.gitignore}' // <-- doesn't work
], {dot: true})
_
これはうまくいくようです:
gulp.src([
baseDir + '/**', // Include all
'!' + baseDir + '/excl1{,/**}', // Exclude excl1 dir
'!' + baseDir + '/excl2/**/!(.gitignore)', // Exclude excl2 dir, except .gitignore
], { dot: true });
Globmatchから単一のファイルを除外するのは、minimatch docsに同様の例がないため、注意が必要です。
https://github.com/isaacs/minimatch
「パターンが!
文字で始まる場合、否定されます」。