回答:
正しい式は-x *.git*
ですので、完全なコマンドは次のようになります。
zip -r bitvolution.zip bitvolution -x *.git*
http://selfsolved.com/problems/zip-command-exclude-svn-directorからの説明:
正しい呪文は
zip -9 -r --exclude=*.svn* foo.zip [directory-to-compress]
また、a
--exclude=*.DS_Store*
を追加して、迷惑なMac OS Xディレクトリ表示メタデータファイルを除外することもできます。渡される式は
--exclude
、一致する元の文字列として元の相対ディレクトリパス全体を使用していることに注意してください。したがって.svn/*
、それ自体では機能しません。前にあるワイルドカード文字により.svn
、ディレクトリツリー内の任意のディレクトリと一致することが保証されます。
--exclude /.git*
。
-x \*.git\*
noglob zip -r out.zip someFolder -x *someExcludedFolder*
Gitに保存されているプロジェクトを圧縮しようとしている場合は、git archive
コマンドを使用します。ソースディレクトリ内から:
git archive -o bitvolution.zip HEAD
HEAD
特定の時点でプロジェクトをアーカイブする代わりに、任意のコミットまたはタグIDを使用できます。
すべてのファイルにプレフィックス(たとえば、最上位フォルダー)を追加する場合:
git archive -o bitvolution.zip --prefix=bitvolution/ HEAD
また、0(圧縮なし)から9(最大圧縮)までの圧縮レベルを調整することもできます。たとえば、
git archive -o bitvolution.zip -9 HEAD
他のオプションについては、ヘルプページ(git help archive
)を参照してください。
バックスラッシュを追加しました:
zip -r bitvolution.zip bitvolution -x \*.git\*
バックスラッシュに関するmanページ:
バックスラッシュはシェルのファイル名の置換を回避するため、名前の一致はすべてのディレクトリレベルでzipによって実行されます。
zshを使用している場合、コマンドは次のようになります。
zip -r target_name.zip source_dir -x '/*.git/*'
場合は、使用しますzip -r target_name.zip source_dir -x /*.git/*
。'regex'がない場合、zshはzip実行の前に処理します。エラーメッセージが表示されます。
zsh: no matches found: /*.git/*
zip --exclude '*.git*' -r directory.zip directory
かzip --exclude \*.git\* -r directory.zip directory