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