Я изучаю различные стратегии ветвления Git, и я продолжаю застревать в какой-то момент. Допустим, у вас есть ведущая ветка. Кроме того, у вас есть ветка разработки, которая является ветвью от мастера. Есть функция/темы ветвей:Как препятствовать багги совершает в ветке разработки с использованием разветвления/слияния Git?
- FixFrontEnd
- FixBackEnd
- ChangeConfig
Три различных разработчики каждое изменение. Разработчик ChangeConfig быстро завершает работу, совершает и объединяется в ветку разработки. Эта ветка разработки теперь построена и развернута в среде Dev. Кто-то проверяет эту новую конфигурацию и одобрен для перехода от Dev к среде QA. Тот же успех найден для ветвей FixFrontEnd и FixBackEnd. В конечном итоге они переходят к качеству.
Приоритеты меняют следующий, а три исправления/функции остаются сидящими в QA. Новое исправление/функция YetAnotherChange делает его QA. Мы обнаружили проблемы с FixFrontEnd и ChangeConfig в QA. Однако YetAnotherChange должен перейти в Production ASAP.
Все, что я читаю, говорит о том, что ветка разработки объединяется в главную ветвь, новая сборка создается для производства с использованием мастера и развертывается. Разве FixFrontEnd и ChangeConfig не затянутся в слиянии, чтобы справиться? Как все подходят к этому?
Вишневый сбор кажется сложным выбором. Я хотел бы немного подумать о том, как решить эту проблему. Я ищу простое решение. Кроме того, предположим, что мы смогли выполнить завитушки. Как мы можем по-настоящему верить, что то, что выбрали и построил вишня, будет работать так же, как и при построении с помощью ветки развития? Я где-то заблудился в лесу?
Пожалуйста, покажите нам несколько диаграмм различных ветвей. –
На практике интерфейс и бэкэнд часто рассматриваются как отдельные проекты и могут быть лучше, чем два отдельных хранилища. Может быть, об этом стоит подумать в вашем случае? – halfer