Мне нужна помощь в планировании того, как пойдет рабочий процесс для конкретной среды разработки сайта, недавно преобразованной в Git (из SVN).
У меня есть 4 разработчика, живые и промежуточные сайты на клиентском сервере и dev-сервер, на котором размещен «хаб» (голое репо), плюс 2 репозитория для разработчиков. У нас есть несколько этапов изменений, над которыми нужно работать, с неизвестным порядком завершения и над которыми работают несколько разработчиков. Кроме того, живому сайту нужны многочисленные быстрые исправления, сделанные на лету.
Мои основные вопросы:
- Как срочно исправлять ошибки
- Как должна публиковаться веха изменений
Мой мозг начинает зацикливаться, пытаясь выяснить лучший рабочий процесс. Для справки в этом посте, скажем, у меня есть две вехи изменений: мобильный и редизайн. Вот что я придумала до сих пор:
Каждый репозиторий для разработчиков, репозитарий-концентратор и репозиторий на стадии имеют все ветви: мобильные, редизайн, мастер.
Живое репо имеет одну ветку: master
БЫСТРЫЕ ИСПРАВЛЕНИЯ: разработчик вносит изменения в свою основную ветку, перемещает ее в концентратор. Затем в прямом эфире извлекает изменения из концентратора (или стадии сначала, если им нужно проверить там заранее).
ЗАКЛЮЧИТЕЛЬНЫЙ ЭТАП И ПУБЛИКАЦИЯ «Редизайн» MILESTONE: разработчик толкает ветку редизайна в хаб и извлекает изменения на этапе. Клиент тестирует и утверждает. В хабе разработчик объединяет редизайн с мастером (и, я думаю, здесь создает тег), а затем запускает мастер в живую. Или для разработчика было бы лучше объединить ветви в его копии, а затем просто перенести его мастер в концентратор. Кроме того, если тэг создан, лучше ли просто вытянуть тэг (если это возможно) в прямом эфире, а не потянуть ветку master? И должны ли метки находиться только в репо-хабе?