Задать вопрос
@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-а.
Вроде и простая задача, но учитывая нюансы не очень и не могу придумать как это все организовать
  • Вопрос задан
  • 190 просмотров
Подписаться 1 Средний 5 комментариев
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы