Ветвление (контроль версий) - Branching (version control)

Ветвление в управлении версиями и управлении конфигурацией программного обеспечения - это дублирование объекта, находящегося под контролем версий (например, файла исходного кода или дерева каталогов ). После этого каждый объект может быть изменен отдельно и параллельно, так что объекты станут разными. В этом контексте объекты называются ветвями . Пользователи системы контроля версий могут перейти в любую ветку.

Ветви также известны как деревья , потоки или кодовые строки . Ветви происходящих иногда называют родительской ветвью , то выше по течению ветви (или просто вверх по течению , особенно если ветви поддерживаются различными организациями или отдельными лицами), или поток подложки . Дочерние ветки - это ветки, у которых есть родитель; ветвь без родителя называется стволом или основной веткой .

В некоторых распределенных системах контроля версий , таких как Darcs , нет различий между репозиториями и ветвями; в этих системах получение копии репозитория эквивалентно ветвлению.

Ветвление также обычно подразумевает возможность позже объединить или интегрировать изменения обратно в родительскую ветвь. Часто изменения объединяются обратно в ствол, даже если это не родительская ветвь. Ветвь, не предназначенная для слияния (например, потому что она была перелицензирована по несовместимой лицензии третьей стороной или пытается служить другой цели), обычно называется ветвью .

Мотивы для разветвления

Филиалы позволяют разрабатывать части программного обеспечения параллельно. В крупных проектах необходимо заполнить множество ролей, включая разработчиков, менеджеров по сборке и персонал службы контроля качества . Кроме того, возможно, придется поддерживать несколько выпусков на разных платформах операционных систем. Филиалы позволяют участникам изолировать изменения, не дестабилизируя кодовую базу, например, исправления ошибок, новые функции и интеграцию версий . Эти изменения могут быть позже объединены (повторно синхронизированы) после тестирования.

Отделение развития

Развития отрасли или развитие дерева кусок программного обеспечения является версия , которая находится в стадии разработки , и пока еще не был официально выпущен . В сообществе разработчиков ПО с открытым исходным кодом понятие выпуска обычно носит метафорический характер, поскольку любой желающий обычно может проверить любую желаемую версию, независимо от того, находится она в ветке разработки или нет. Часто, версия , которая будет в конечном итоге стать следующей основной версии называется развития отрасли. Однако часто в данный момент времени разрабатывается несколько последующих версий программного обеспечения.

В некоторых системах контроля версий используется специальный жаргон для основной ветви разработки; например, в CVS он называется «ГЛАВНЫЙ»; в Git это называется «мастер». Более общий термин - « ствол ».

Тень или волшебные ветви

В CVC и CVSNT , в тени или магическими ветви «тени» изменения сделаны в верхнем отделении, чтобы сделать его легче поддерживать небольшие изменения (CVC представляет собой пакет построения системы с открытым исходным кодом включения системы Revision-управления для пакетов , полученных RPATH . )

Репозиторий клонов

При распределенном контроле версий можно копировать весь репозиторий с ветвями и работать с ним дальше. Monotone (mtn), Mercurial (hg) и git называют это «клоном»; Базар называет это «веткой».

Смотрите также

Рекомендации