git で、あるコミット A から別のコミット B までの間で、削除・追加・変更されたファイルについて、それぞれの一覧を取得する方法

$ git diff --name-status A..B

差分抽出してzipにまとめる

rootに生成

git archive --format=zip --prefix=root/ HEAD `git diff --diff-filter=d --name-only HEAD^ HEAD` -o archive.zip

root/GitArchiveに生成

git archive --format=zip --prefix=root/ HEAD `git diff --diff-filter=d --name-only HEAD^ HEAD` -o GitArchive/archive.zip

https://qiita.com/kaminaly/items/28f9cb4e680deb700833
上記に詳しく書いてある。

git archive ブランチ名 `git diff --name-only ローカル登録のリポジトリ名/master ブランチ名 --diff-filter=ACMR` -o GitArchive/archive.zip