У меня есть пустое хранилище, в которое разработчики помещают свои ветки исправлений из локального хранилища в Windows. Когда ветка нажата, я запускаю ловушку, чтобы построить их изменения в Linux. Это легко сделать, если я создаю рабочее дерево для ветви. Однако репо содержит десятки тысяч файлов, и наличие веток исправлений каждого разработчика создает рабочее дерево для всех объектов, когда они вносят изменения только в несколько объектов, - это огромная трата времени и ресурсов файловой системы.
Есть ли способ позволить разработчикам подтолкнуть к голому репозиторию, а затем в хуке извлечь только измененные источники в структуру каталогов, чтобы я мог иметь эффективный процесс сборки?
Идеи? * * 1005
Пример developer_a отправляет свою ветвь HF1, которая была разветвлена, из ветки Dev обратно в удаленное репозиторий на сервере сборки Linux.
В хуке, если я выполняю "git diff" HF1 и ветку dev, я вижу список файлов, которые были изменены.
diff-tree -r --no-commit-id - name-only HF1..dev
/ APP / SOURCE / Program1.cbl
Любая попытка использовать этот файл в приведенной выше команде не удалась, потому что рабочее дерево не существует.
Я хотел бы сгенерировать этот diff и затем извлечь из репозитория файлы, перечисленные в diff, в целевой каталог.