Я пытаюсь создать zip-файл, содержащий все файлы, измененные или зафиксированные, в zip-архиве. Причина этого в том, что у нас есть загружаемый пример проекта для клиентов. Когда в примере кода происходят какие-либо изменения, нам нужно обновить ZIP-файл, который существует в общедоступном веб-приложении.
Я подумал, что было бы неплохо использовать git pre-commit hook для этого. Тем не менее, я довольно новичок в Git и не знаю сценариев оболочки. Я получил следующий скрипт предварительной фиксации для создания архива файлов, которые я хочу, в нужном месте:
! C: / Program \ Files / Git / usr / bin / sh.exe
REF_APP_PATH = "Источник / CodeExamples / DataServiceReferenceApp"
если git diff --cached --name-only | grep --quiet "$ REF_APP_PATH"
то
echo "Обновление измененных файлов в DataServiceReferenceApp.zip"
git archive --format = zip --output = Source / WebApi / Api / Downloads / test.zip HEAD: Источник / CodeExamples / DataServiceReferenceApp
фи
выход 0
Проблема в том, что все файлы взяты из предыдущего коммита, а не измененных файлов, которые регистрируются. Я хочу заархивировать старое и новое в правильной древовидной структуре, затем зафиксировать измененное и обновленный zip.
У кого-нибудь есть идеи, как этого добиться?