git archiveというコマンドを使うとリポジトリにコミットされているファイルだけを抽出してzipにできるんだけど、一部のディレクトリだけを取り出すこともできるのを知った。便利。
$ git archive master ./subdir --format zip -o /tmp/a.zip
参考:http://transitive.info/article/git/command/archive/