git archive -o update.zip HEAD $(git diff --name-only <starting SHA> HEAD)
or
git diff --name-only sha1 sha2 > list.txt
zip archive -@ < list.txt
git diff sha1..sha2 > update.patch
Add git alias to .gitconfig
:
[alias]
zip-changed-files = "!f() { git diff --name-only \"$1\" \"$2\" > list.txt; zip update -@ < list.txt; rm list.txt; }; f"
Usage:
$ git zip-changed-files <sha1> <sha2>
Note! Use bash autocomplete. Do not type insane zip-changed-files
manually :3
🥇