Как правильно организовать работу с ветками в 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-а.
Вроде и простая задача, но учитывая нюансы не очень и не могу придумать как это все организовать
зачем какая-то отдельная ветка для тестов? можно же с ветки разрабов выкатывать версию на тест (подтягивая изменения из мастера, если есть)
и мержить только в мастер, когда все протестировано
Александр, ветками же это не решить все равно? ревью перед мержем - не прошло - да пусть переделывает, выкатывает новую версию и заново тестирует
не очень понятна проблема