如何使用 Git Bash 在忽略已删除文件的提交之间创建一个 zip 文件

How to use Git Bash to create a zip file between commits ignoring deleted files

我使用 Bitbucket,我希望在提交之间创建一个 zip 文件,这样我就可以只向客户端提供更改的文件。我目前使用:

git archive --output=changes.zip HEAD $(git diff --name-only SHA1 SHA2)

如果所有文件都在,那绝对没问题。但是,如果在提交之间删除了一个文件,我会收到错误消息:

fatal: pathspec 'FILENAME' did not match any files

这样做的最佳方法是什么,您可以在 Bitbucket、Git Gui 或 Git Bash 中完成吗?

看起来带有小写 d 的 diff-filter 选项排除了已删除的文件:

git archive --output=changes.zip HEAD $(git diff --name-only --diff-filter=d SHA1 SHA2)