Работа в кодовой базе миллионов строк кода с сотнями разработчиков ветвлений - обычное явление. Срок службы филиала варьируется в зависимости от объема выполняемой работы.
Для небольшого исправления:
- дизайнер делает боковую ветвь от основного потока
- вносит изменения
- Тесты
- Отзывы
- объединяет накопленные изменения из основного потока в боковую ветвь
- повторяет один или несколько предыдущих шагов
- сливается с основным потоком
Для команды из нескольких человек:
- команда делает функцию боковой ветки от основного потока
- отдельный член команды работает на боковой ветви объекта, как в подходе "small fix", и сливается с боковой веткой объекта.
- простое число боковых веток периодически объединяет накопленные изменения из основного потока в боковое отделение функции. С небольшими инкрементными слияниями основного потока и боковой ветки гораздо проще справиться.
- когда функция работает, сделайте окончательное объединение из основного потока в боковую ветвь функции
- объединение боковой ветви функции с основным потоком
Для выпуска программного обеспечения клиента:
- сделать ветку релиза
- доставлять исправления по мере необходимости для выпуска ветки
- исправления распространяются в / из основного потока по мере необходимости
Потоки релизов клиентов могут быть очень дорогими для поддержки. Требуются ресурсы тестирования - люди и оборудование. Через год или два знания разработчиков по конкретным потокам начинают устаревать по мере продвижения основного потока.
Можете ли вы представить, сколько должно стоить Microsoft для одновременной поддержки XP, Vista и Windows 7? Подумайте об испытательных стендах, администрировании, документации, обслуживании клиентов и, наконец, командах разработчиков.
Золотое правило: Никогда не нарушайте основной поток, так как вы можете остановить большое количество разработчиков. $$$