Задать вопрос
@fuliozor
Web and Android developer

Как правильно организовать работу с ветками в Git?

У нас в компании ведется разработка бекенда несколькими людьми одновременно (бекенд на php, монолит), интересует как правильно организовать набор веток в какой момент создавать Pull request-ы и в какой момент проводить ревью? Лучше всего объяснить на примере что есть сейчас и что я бы хотел:
Есть два разработчика которые делают feature_1 и feature_2 соответственно. Есть ветка master изменения из которой выливаются в прод. Есть ветка stable изменения из которой выливаются на предрелизный и тестовый сервера. Часто бывает такое, что ветку нужно выставить на тестовый сервер чтоб тестировщики могли протестировать новую фичу. И так мы подошли к первой проблеме, в какую из веток делать pull request в master или stable? Можно было бы делать pull request-ы в stable делать ревью и после тестирования stable мерджить в master и выливать в прод, но так не получается, потому что некоторые фичи тестируются быстрее некоторые дольше, не хочется ждать пока закончится тестирование feature_2 если feature_1 уже протестирована. Поэтому мы сейчас создаем pull request-ы в master когда разработчик считает что фича закончена, делаем ревью но не мерджим в master сразу, мы ее мерджим в stable и отдаем на тесты. Но здесь возникает следующая проблема, при исправлении ошибок изменения могут быть довольно существенны, поэтому перед мерджем изменений в main стоило бы еще раз провести ревью, но если на ревью что-то найдется и придется вносить изменения то разработчик может что-то отломать, поэтому желательно после этого еще раз провести тестирование, а этого хотелось бы избежать. И дополнительная проблема в том что после мерджа в master тоже может что-то отломаться, так как все тестировалось на ветке stable, а там могло что-то отличаться от master-а.
Вроде и простая задача, но учитывая нюансы не очень и не могу придумать как это все организовать
  • Вопрос задан
  • 224 просмотра
Подписаться 1 Средний 5 комментариев
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽