git-archive is a built-in command to create archive, you can use it to create the zip locally, no need to download it from github.
It also allows you to exclude files/directories via
gitattributes
Just create a .gitattributes file:
Code:
UnwantedDir/ export-ignore
SomeDir/UnwantedFile.txt export-ignore
# etc.
Code:
git archive --prefix ABC/ -o ABC.zip COMMIT
(note that if the .gitattributes file is not present in COMMIT, you will need to add --worktree-attributes option)