##背景
サーバへのアップを手動でする機会がありました。
その際、「前回アップした最後のコミット」から「最新の状態」までの差分ファイルがディレクトリ構造ごと欲しかったので、その方法の備忘録。
##コマンド
コミット「yyyyyyy」から「xxxxxxx」までの差分ファイルがroot下にある状態で「hoge.zip」として保存されます。
git archive --format=zip --prefix=root/ xxxxxxx `git diff --diff-filter=d --name-only yyyyyyy` -o hoge.zip
xxxxxxx はコミットID(正確には「コミットSHA-1ハッシュ」というらしい)。
「最新(現在)の状態」までの差分ファイルが欲しいときは「xxxxxxx」→「HEAD」に変えます。
##参考
こちらの記事を参考にさせていただきました。(というかそのまんま)
gitで差分ファイルを抽出する
コマンドの詳しい解説が書いてあってわかりやすいです。