Ветвь (управление версиями)

Ветвь (управление версиями)

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

Системы управления версиями предоставляют инструменты для манипуляции ветвями, прежде всего создание ветви и слияние изменений с другой ветвью.

Содержание

Использование ветвей

Существует ряд приёмов ветвления, широко применяемых прежде всего при разработке программного обеспечения.

Стволовая ветвь

История изменений каждого документа в хранилище представляет собой древовидную структуру. Стволовая ветвь (англ. trunk) это основное направление разработки. Большая часть ветвлений и слияний происходит с ней. Стволовая ветвь создаётся один раз при создании нового хранилища и существует на протяжении всего жизненного цикла проекта. Все остальные ветви создаются для определённых целей и различаются по своему назначению.

Релизная ветвь

Перед выпуском очередной версии релиза программного обеспечения недопустимо вносить потенциально дестабилизирующие изменения в исходный код. Поэтому перед выпуском обычно создаётся релизная ветвь (англ. release branch или англ. tag), изменения в которой строго регламентированы. В основном в неё попадают исправления серьёзных ошибок, обнаруженных при подготовке версии. Все остальные изменения вносятся в стволовую ветвь. Таким образом, стабильность кода на релизной ветви не нарушается, и релиз выпускается из кода этой ветви. В дальнейшем можно путем слияния перенести исправления, сделанные на релизной ветви, и на стволовую ветвь. Как правило, релизная ветвь после выпуска версии не удаляется. Она может понадобиться для воспроизведения состояния проекта на момент выпуска.

Функциональная ветвь

Функциональная ветвь (англ. functional branch) создаётся для выполнения серии дестабилизирующих изменений без влияния на стволовую ветвь. Например, нужно добавить в код новую функциональность, но изменения настолько сложны, что их нельзя выполнить за одну фиксацию. Либо требуется участие нескольких человек. В этом случае создаётся ветвь, в которую вносятся дестабилизирующие изменения. При этом код на ветви может продолжительное время пребывать в нестабильном состоянии. Когда изменения выполнены и код приведён в стабильное состояние, производится слияние изменений в стволовую ветвь. Таким образом, на стволовой ветви изменения, сделанные на функциональной ветви, выглядят как одна фиксация (фиксация, которой выполнено слияние), при этом нестабильных промежуточных состояний на стволовой ветви нет. Они есть только на функциональной ветви, где их можно посмотреть при необходимости. После слияния жизненный цикл функциональной ветви закончен, её можно удалить.

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Ветвь (управление версиями)" в других словарях:

  • Ветвь — …   Википедия

  • Система управления версиями — (от англ. Version Control System, VCS или Revision Control System)  программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при …   Википедия

  • Ветви — Ветвь  изначально отросток дерева, имеющий продолговатую форму и обычно покрытый листьями либо цветами. В переносном смысле часто используется как обозначение какого либо варианта программы/алгоритма/вселенной и так далее. См. также Ветвь функции …   Википедия

  • Subversion — У этого термина существуют и другие значения, см. Subversion (игра). Subversion Логотип Subversion Тип централизованная …   Википедия

  • Форк — У этого термина существуют и другие значения, см. Форк (значения). Форк (англ. fork  ответвление)  использование кодовой базы программного проекта в качестве старта для другого. При этом основной проект может как продолжать… …   Википедия

  • SVN — Subversion Логотип Subversion Тип система управления версиями Разработчик CollabNet, Inc. Написана на C …   Википедия

  • SubVersion — Логотип Subversion Тип система управления версиями Разработчик CollabNet, Inc. Написана на C …   Википедия

  • Svn — Subversion Логотип Subversion Тип система управления версиями Разработчик CollabNet, Inc. Написана на C …   Википедия

  • Version control system — Система управления версиями (от англ. Version Control System или Revision Control System)  программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же… …   Википедия

  • Учет версий — Система управления версиями (от англ. Version Control System или Revision Control System)  программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»