Разработчик начинает работу над функцией, назвав ее "Исправить жестко запрограммированную ссылку". Когда работа будет завершена, она будет передана другому разработчику для экспертной оценки. Рецензент соглашается с изменениями кода и объединяет функциональную ветку с тестовой веткой. "Исправить жестко закодированную ссылку" теперь находится на тестовом сервере в ожидании технического тестирования.
test
— это место, где ветви функций объединяются после того, как они были проверены другим разработчиком, staging
— это ветвь, где ветви функций объединяются после того, как они прошли экспертную оценку, TT и UAT.
Следующий разработчик начинает работать над следующей картой и создает такую ветку:
git checkout test
git checkout -b story/bar
Разработчик заканчивает работу и передает ее на экспертную оценку. Рецензент доволен кодом и переходит в TT и UAT, все довольны, и он переходит на PO. P.O доволен, а затем объединяет функциональную ветку с staging
git checkout staging
git merge origin/story/bar
Сделав это, я обнаружил, что мы применяем не только патч, прилагаемый к исправлению для конкретной карты, но и всю историю, которая идет с веткой. В результате фиксация "Исправить жестко закодированную ссылку" находится на стадии подготовки, но еще не прошла процесс.
- Что-то не так с нашим подходом и какие-либо предложения по его улучшению?
- Должны ли мы создавать наши функциональные ветки вне промежуточной стадии?