Git かわいいよ、Git。
Git 管理しているアプリを tar ball で公開する時のお話。普通、make distclean && make して全コンパイルが通ることを確認したら、もう一回 make distclean して tar ball 作成用のコマンドを実行するよね? それとも、export して tar に固めるかな?
Git だと、tar ball を作成するためのコマンドが用意されてる。git-archive がそれ。
$ git archive --format=tar --prefix=foo-0.1.0/ HEAD | gzip > foo-0.1.0.tar.gz
format の引数には、tar と zip が使える。デフォールトは tar とのこと。「HEAD」を指定すると、カレント・ブランチの最新版を tar してくれる。ここに TAG を指定することも可能。
アーカイブされたデータは、標準出力に吐き出されることに注意。お蔭で、gzip や bzip2 コマンドに渡せるんだけど、ZIP アーカイブする人には馴染みが薄いんじゃないかな。
$ git archive --format=zip --prefix=bar-0.1/ release-0.1 > bar-0.1.zip
git-archive は、余計なゴミ・ファイルとかを収録しないし、一発で archive できるので便利。おすすめ。
7zipも使えました。よかったら見てみてください。
ReplyDeletehttp://phichyudebow.blogspot.com/2009/10/git-archive-by-7zip.html
コメントありがとうございます。
ReplyDelete早逃、紹介エントリーを書いてみました。
* clmemo@aka: git archive で 7zip