atskimura-memo

あまり仕事とは関係なく適当に書きます。開発ネタが多いかもしれません。

Gitで特定コミットのファイルだけをzipで納品するコマンド

ちょいネタです。ちょうどGitで特定コミットのファイルだけをzipで納品する必要があったので。

git:特定コミットのファイル一式を抽出&zip保存。ワンクリックで。 | ラスタッタPぃやぁ

をとても参考にさせていただきましたが、ちょっと変更したのでメモ代わりに書いておきます。

こんなコミットログがあったとして、

$ git log --oneline --graph
* c000004 コミット4
* c000003 コミット3
* c000002 コミット2
* c000001 コミット1

「コミット2からコミット3まで変更ファイルだけをください」と言われたら、以下のようにすればOKです。

$ git archive --format=zip c000003 `git diff c000003..c000001 --name-only` -o ~/Desktop/c000003.zip

では、みなさん楽しい納品ライフを!