Прежде всего, я не очень разбираюсь в Git и ищу несколько советов, потому что сталкиваюсь со следующей проблемой: у моего отдела есть следующие филиалы и используются конвейеры непрерывной доставки в Git:
- DEV, у которого есть соответствующая ветвь (называемая master) в Git
- PROD с производственной веткой в Git, поэтому, когда мы объединяем master в ветке Prod, все наши разработки переходят в среду Prod.
Как мы действуем: для каждой новой функции мы создаем новую ветвь функции на главном сервере и фиксируем изменения на главном устройстве, чтобы они были размещены в тестовой среде и проверяли, работают ли они. Таким образом, на master есть различные коммиты для функций, которые могут быть готовы к использованию в Prod, и другие функции, которые все еще находятся на стадии разработки / тестирования. Это становится еще сложнее, если больше людей работают над одними и теми же вещами, например, меняя одни и те же файлы.
Таким образом, у нас есть только DEV и PROD, и невозможно создать еще одну дополнительную среду.
И из-за этого мы сталкиваемся с некоторыми проблемами, когда нужно продвигать эти изменения в PROD, например, не продвигать все изменения или продвигать изменения, которые еще не готовы к PROD.
Так что мой вопрос в том, что, по вашему мнению, будет наилучшим сценарием практики для этой конкретной ситуации? Так что, если у вас есть некоторый опыт, любая помощь очень ценится.
Большое спасибо, что нашли время, чтобы прочитать мой вопрос!