Чтобы сделать именно то, что вы просили (предполагая, что вы уже зафиксировали и хотите создать архив файлов, измененных при последнем коммите), вы можете сделать:
git archive --format=zip HEAD `git diff HEAD^ HEAD --name-only` > a.zip
Если вы удалили файлы вcommit, чтобы предотвратить ошибку pathspec, используйте --diff-filter=d
:
git archive --format=zip HEAD `git diff --diff-filter=d HEAD^ HEAD --name-only` > a.zip
Но, возможно, вы действительно хотите создать патч, используя:
git diff HEAD^ HEAD > a.patch
и применить этот патч там, где он вам нужен:
patch -p1 < a.patch
Конечно, применение патча работает только в том случае, если целевой каталог уже содержит старую версию вашего репозитория.