I muszę spakować katalog z wyłączeniem niektórych podkatalogów i plików; Użyłem tego:
zip -r zipfile.zip . -x ".*" -x "app/bower_components" -x "node_modules" -x "*.zip" -x "node_modules"
bez powodzenia; node_modules
jest folderem w głównym, gdy bower_components
znajduje się w aplikacji folderów
Odpowiedzi:
Po prostu zgaduję, czego chcesz.
wyklucz wszystkie pliki zaczynające się od kropki
zrób to jak:
wyklucz wszystkie pliki (z kropką w nazwie pliku)
zrób to jak:
-
wyklucz ten katalog i wszystkie zawarte w nim pliki
zrób to jak:
-
wyklucz wszystkie pliki zip
zrób to jak:
Dwa razy wykluczasz moduły_węzła
źródło
Coś takiego powinno załatwić sprawę:
Poniżej
-x
znajduje się lista katalogów i typów plików (rozszerzeń) do wykluczenia.źródło
**\*
chodzi o wykluczenie rekurencyjne. Wielkie dzięki.Zakładając, że katalog jest repozytorium git (i sądząc po pytaniu, jest bardzo prawdopodobne), możesz dodać katalogi, które chcesz wykluczyć do
.gitignore
pliku i użyćgit archive
polecenia, aby spakować zawartość katalogu:W twoim przykładzie
.gitignore
plik musiałby wyglądać tak:źródło
Działa to idealnie dla mnie na Ubuntu 16.04:
źródło
w każdym projekcie pomiń node_modules jak poniżej:
źródło