gitのソースコードをzipで圧縮したいとする。その際、git cloneしたものをzipすると.gitディレクトリが入ってしまったりする。
その際に便利に使えるコマンドがgit archive
である。こちらの記事がわかりやすいので参照していただきたい。
Git リポジトリの内容を zip ファイルにする
リポジトリにサブモジュールが含まれない場合はこれで問題ないのだが、submoduleまで含めて再帰的にarchiveしたい場合はどうすれば良いか?
こちらのStackOverflowの記事に非常に簡単な手法が紹介されていた。
https://github.com/Kentzo/git-archive-all を使う。
$ pip install git-archive-all
$ git-archive-all my_repo.zip # my_repo.zipファイルが作られる