Вы могли бы извлечь выгоду из рабочего процесса, описанного Скоттом Чаконом в Pro Git . В этом рабочем процессе, у вас есть две ветви , которые всегда существуют, мастер и развиваться .
master представляет собой наиболее стабильную версию вашего проекта, и вы только когда-либо внедряетесь в производство из этой ветви.
Разработка содержит изменения, которые находятся в стадии разработки и не обязательно могут быть готовы к производству.
В ветке разработки вы создаете ветки тем для работы с отдельными функциями и исправлениями. Как только ваша функция / исправление будет готово к работе, вы объедините его с разработкой , после чего вы сможете проверить, как он взаимодействует с другими ветками тем, в которые ваши коллеги слились. Как только разработка находится в стабильном состоянии, объедините ее с master . Это всегда должно быть безопасно для развертывания на производстве от мастера .
Скотт описывает эти длительно работающие ветви как «бункеры» кода, где код в менее стабильной ветви в конечном итоге «перейдет» к той, которая считается более стабильной после тестирования и общего одобрения вашей командой.
Шаг за шагом, ваш рабочий процесс в этой модели может выглядеть следующим образом:
- Вам нужно исправить ошибку.
- Создайте ветку с именем myfix , основанную на ветке разработки .
- Работайте над ошибкой в этой ветке, пока она не будет исправлена.
- Слить myfix в разработку . Запустите тесты.
- Вы обнаружите, что ваше исправление конфликтует с другим исправлением ветки темы, с которым ваш коллега слился в процессе разработки, пока вы работали над исправлением.
- Внесите больше изменений в ветку myfix, чтобы справиться с этими конфликтами.
- Объедините myfix с разработкой и запустите тесты снова.
- Все отлично работает Слияние развивается в мастера .
- Развертывание в производство от мастера в любое время, потому что вы знаете, что это стабильно.
Для получения более подробной информации об этом рабочем процессе обратитесь к главе « Ветвящиеся рабочие процессы» в Pro Git.