Ветвление (управление версиями)
-
Основы ветвления в системах контроля версий
- Ветвление — это создание дубликатов контролируемых объектов, таких как файлы или каталоги.
- Ветви позволяют разработчикам изменять объекты параллельно, создавая разные версии.
- Пользователи могут создавать любые ветви, которые могут называться деревьями, потоками или кодовыми линиями.
-
Типы ветвей и их назначение
- Исходная ветвь называется родительской или восходящей ветвью.
- Дочерние ветви имеют родительскую ветвь, а магистраль (или HEAD) — это последняя фиксация в ветви.
- Магистраль обычно является основой проекта и содержит самую свежую версию, но может быть нестабильной.
- Разработчики могут работать над магистралью, а затем объединять изменения в стабильные ветви.
- В зависимости от политики фиксации, магистраль может содержать стабильную или нестабильную версию.
-
Слияние и интеграция изменений
- Ветвление обычно подразумевает возможность объединения изменений обратно в родительскую ветвь.
- Изменения могут быть объединены в магистраль, даже если это не родительская ветвь.
- Ветвь, которая не предназначена для объединения, называется форком.
-
Мотивы для создания ветвей
- Ветви позволяют разрабатывать отдельные части программного обеспечения параллельно.
- Крупные проекты требуют поддержки множества версий и платформ.
- Ветви помогают изолировать изменения, тестировать их и объединять после тестирования.
-
Развитие и релиз программного обеспечения
- Ветвь разработки — это версия, находящаяся в стадии разработки и еще не выпущенная.
- В системах контроля версий есть специальные термины для обозначения основной ветви разработки, например, «ОСНОВНОЙ» в CVS.
- Часто ветвью разработки является магистраль, но может быть и более одной последующей версии.
-
Теневые и магические ветви
- В CVSNT теневые или магические ветви скрывают изменения, упрощая поддержку небольших изменений.
-
Распределенный контроль версий и клоны репозитория
- При распределенном контроле версий весь репозиторий с ответвлениями может быть клонирован и доработан.
- В некоторых системах контроля версий, таких как Darcs, нет различий между репозиториями и ветвями.
-
Рекомендации
- Статья содержит ссылки на дополнительные материалы и рекомендации.