Развертывания продукции
Нет правильного ответа на этот вопрос, поскольку он сводится к вашим предпочтениям, ограничениям и требованиям для производственной среды. В зависимости от того, насколько чувствительной является эта среда (и это звучит так, как будто вы говорите о нечувствительной системе с небольшим количеством пользователей), вы хотите убедиться, что все новые развертываемые вами функции хорошо протестированы и не нарушают ожидаемую функциональность. Этого можно добиться, например, с помощью промежуточной среды, настройки непрерывной интеграции, использования развертываний Blue / Green или Canary Releases и т. Д.
Возможно, следующая статья будет хорошей отправной точкой: Развертывание в производство - аналогично, вы найдете много советов по теме CI / CD здесь, в разделе Переполнение стека и в других частях межсетевого взаимодействия.
Git Ветвление
В общем, я бы предложил использовать рабочий процесс git, такой как Модель ветвления Винсента Дриссена , используя теги git и гарантируя, что ваши ветви функций будут небольшими, то есть одна ветвь для каждой функции или исправления ошибки. Это ограничит неопределенность объединения сразу нескольких изменений в основную ветку и поможет вам протестировать ваш код.
Для вашей конкретной ситуации, почему бы не создать тег git в основной ветке и объединить его с функциональной ветвью после тестирования? Затем вы можете создать новый тег и выпустить его в производство. Если после развертывания вы обнаружите какие-либо ошибки, вы всегда можете откатить и развернуть предыдущий тег или создать ветку для исправления ошибки, чтобы решить эту проблему.
Создать тег в репозитории GitHub