Самый простой и самый обычный способ, которым я видел работу ветвления, состоит из двух помещений. Багажник и выпуск. Я думаю, что это известно как философия "Нестабильный ствол, стабильная ветвь".
Магистраль является вашим основным источником. Он содержит «последний и самый лучший» код и рассчитан на будущее. Обычно это не всегда стабильно.
Release - это связь «один ко многим» с транком. Существует один ствол, но много выпусков, которые происходят из ствола. Релизы, как правило, начинаются с ветки ствола, как только достигнут определенный этап функциональности, поэтому «единственными» вещами, оставшимися для конкретного развертывания, должны быть только исправления ошибок. Затем вы разветвляете соединительную линию, присваиваете ей метку (например, 1.6 Release является нашей текущей последней версией), собираете и отправляете релиз в QA. На этом этапе мы также увеличиваем номер версии (обычно младший номер) транка, чтобы у нас не было двух выпусков с одинаковым номером.
Затем вы начинаете цикл тестирования в своей ветке релизов. Когда будет выполнено достаточное тестирование, вы применяете исправления ошибок к ветке релиза, объединяете их обратно в ствол (чтобы обеспечить исправление ошибок!), А затем повторно выпускаете сборку ветки. Этот цикл с QA продолжается до тех пор, пока вы оба не будете довольны, и выпуск, наконец, будет передан покупателям. Любые сообщения об ошибках от клиентов (клиентов), которые являются точными (то есть они являются ошибкой!), Начинают новый цикл QA с рассматриваемой ветвью.
Когда вы создаете будущие выпуски, хорошей идеей будет также попытаться переместить старых клиентов в более новые филиалы, чтобы уменьшить потенциальное число ветвей, в которые вам, возможно, придется вносить исправления для исправления ошибки.
Используя эту технику, вы можете развертывать решения, использующие вашу технологию, для различных клиентов, которым требуется разный уровень обслуживания (начиная с наименьшего первого), вы можете изолировать существующие развертывания от «опасного» нового кода в магистрали и наихудшего слияния. Сценарий - это одна ветка.