Ваш рабочий процесс
Это скоро доставит вам неприятности, если этого еще не произошло.
Есть группы, которые могут функционировать, как вы упомянули выше, но, по моему опыту, это разработчики с многолетним опытом совместной работы .
В конечном итоге один разработчик получитконфликт слияния и удаление / добавление кода, который не должен быть. Этот конфликт слияния будет добавлен в основную историю и вызовет головные боли. Это отличный способ внести ошибки или, чаще, нарушить сборку.
Ветви не враги и не дорогие. Они просто указатели на коммиты. Ветви можно легко создавать и удалять, объединяйте их в команду.
Github Flow
Я бы порекомендовал начать с github flow и привести его в соответствие с вашими требованиями. группа. Это позволяет вам работать в безопасной ветке, которую можно соответствующим образом объединить с каждой средой (production / qa).
В идеальном мире вы будете выходить из master, выполнять свою работу, делать коммиты и открывать пул. / объединить запрос в QA. После проверки ваш код будет развернут в QA. Как только вся работа завершена в QA, QA можно объединить с мастером.
Другие вопросы, которые следует учитывать (бизнес)
В зависимости от рабочей среды вы можете сделать свои филиалы более подробными. Например, работая в агентстве, вам, возможно, придется выставить счет за функцию, прежде чем ее можно будет развернуть. Вы не хотите останавливать исправления ошибок из-за этого. Вы можете быть в команде разработчиков продукта, где master всегда должен быть готов к развертыванию для нового клиента, или быть примером того, что находится на производстве, чтобы легко идентифицировать ошибки.