tar: --exclude = “. git”: impossibile stat: nessun file o directory


11

Questo mi sta facendo impazzire. Voglio taruna directory, ma escludo alcuni file. Questo è il mio comando:

tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude='.git' --exclude='.gitignore'

Mentre il comando sopra funziona su RedHat EL5, non funziona su Mac OS 10.8.2. Ho provato a sostituire il 'con ", \'e \". Ho provato a rimuovere gli stessi segni. Niente funziona.

Che cosa sto facendo di sbagliato?


Utilizzare gnutarda Brew, MacPort, ecc. Il catrame di Apple è troppo paralizzato.
1616

Risposte:


23

Tutte le opzioni devono essere insieme prima degli argomenti e il -fflag deve precedere il file tar:

tar -zcv --exclude = '. git' --exclude = '. gitignore' -f $ NAME- $ VERSION.tar.gz $ NAME- $ VERSION

In tal caso tar --help, l' --excludeopzione appare nella guida? Non conosco OSX, ma forse c'è uno gtarinvece dello stock tar.
Flup

2
Ah, lo vedo :) prova questo: tar --exclude='.git' --exclude='.gitignore' -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION il -fflag si aspetta un nome file come argomento successivo.
Flup

Scusa sì, modificato. Sono nuovo qui quindi abbi pazienza!
Flup

2
Può attestare che funziona su un Mac - 10.9. Mi ci è voluto un po 'per trovare la versione giusta di questo, motivo per cui lascio qui il mio commento!
John Allen,

2

Questo ti dà quello che vuoi:

tar czvf $NAME-$VERSION.tar.gz $NAME-$VERSION --wildcards --exclude=.git --exclude=.gitignore

1

Sembra che ti piaccia filtrare le meta directory .git, il modo più semplice è usare --exclude-vcs per escludere le directory del sistema di controllo versione:

tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude-vsc

Ho usato "tar (GNU tar) 1.27.1" sulla mia macchina Linux, sembra che il comando generale BSD di Mac (versione non GNU) non supporti questa opzione.


Sei sicuro che funzioni con il catrame di Apple? Vedi la tar(1)pagina man di Apple . non elenca --exclude-vsco --exclude-vcs.
1616

Grazie caro @jww per il tuo suggerimento. Ho modificato la mia risposta per essere più efficace.
Kayvan Tehrani,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.