Ich habe ein Projekt wie dieses:
root
|-incl1
|-incl2
|- ...
|-excl1
|-excl2
|- .gitignore <-- keep this one
|- (other files) <-- exclude them
Ich muss gulp.src()
schreiben, das alle Ordner außer excl1
Und excl2
Enthält aber die Datei .gitignore
Behalten.
Dies ist mein Code, der nicht funktioniert:
gulp.src([
baseDir + '/**',
'!' + baseDir + '/{excl1, excl1/**}'
'!' + baseDir + '/excl2/{**, !.gitignore}' // <-- doesn't work
], {dot: true})
Das scheint zu funktionieren:
gulp.src([
baseDir + '/**', // Include all
'!' + baseDir + '/excl1{,/**}', // Exclude excl1 dir
'!' + baseDir + '/excl2/**/!(.gitignore)', // Exclude excl2 dir, except .gitignore
], { dot: true });
Das Ausschließen einer einzelnen Datei von der Glob-Übereinstimmung war schwierig, da es in Minimatch-Dokumenten keine ähnlichen Beispiele gibt.
https://github.com/isaacs/minimatch
"Beginnt das Muster mit einem !
Zeichen, dann wird es negiert ".