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

Поделись знанием:
Перейти к: навигация, поиск

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

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





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

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

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

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

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

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

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

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

См. также

Напишите отзыв о статье "Ветвь (управление версиями)"

Отрывок, характеризующий Ветвь (управление версиями)

– В армию.
– Да вы хотели остаться еще два дня?
– А теперь я еду сейчас.
И князь Андрей, сделав распоряжение об отъезде, ушел в свою комнату.
– Знаете что, мой милый, – сказал Билибин, входя к нему в комнату. – Я подумал об вас. Зачем вы поедете?
И в доказательство неопровержимости этого довода складки все сбежали с лица.
Князь Андрей вопросительно посмотрел на своего собеседника и ничего не ответил.
– Зачем вы поедете? Я знаю, вы думаете, что ваш долг – скакать в армию теперь, когда армия в опасности. Я это понимаю, mon cher, c'est de l'heroisme. [мой дорогой, это героизм.]
– Нисколько, – сказал князь Андрей.
– Но вы un philoSophiee, [философ,] будьте же им вполне, посмотрите на вещи с другой стороны, и вы увидите, что ваш долг, напротив, беречь себя. Предоставьте это другим, которые ни на что более не годны… Вам не велено приезжать назад, и отсюда вас не отпустили; стало быть, вы можете остаться и ехать с нами, куда нас повлечет наша несчастная судьба. Говорят, едут в Ольмюц. А Ольмюц очень милый город. И мы с вами вместе спокойно поедем в моей коляске.
– Перестаньте шутить, Билибин, – сказал Болконский.
– Я говорю вам искренно и дружески. Рассудите. Куда и для чего вы поедете теперь, когда вы можете оставаться здесь? Вас ожидает одно из двух (он собрал кожу над левым виском): или не доедете до армии и мир будет заключен, или поражение и срам со всею кутузовскою армией.
И Билибин распустил кожу, чувствуя, что дилемма его неопровержима.
– Этого я не могу рассудить, – холодно сказал князь Андрей, а подумал: «еду для того, чтобы спасти армию».
– Mon cher, vous etes un heros, [Мой дорогой, вы – герой,] – сказал Билибин.


В ту же ночь, откланявшись военному министру, Болконский ехал в армию, сам не зная, где он найдет ее, и опасаясь по дороге к Кремсу быть перехваченным французами.
В Брюнне всё придворное население укладывалось, и уже отправлялись тяжести в Ольмюц. Около Эцельсдорфа князь Андрей выехал на дорогу, по которой с величайшею поспешностью и в величайшем беспорядке двигалась русская армия. Дорога была так запружена повозками, что невозможно было ехать в экипаже. Взяв у казачьего начальника лошадь и казака, князь Андрей, голодный и усталый, обгоняя обозы, ехал отыскивать главнокомандующего и свою повозку. Самые зловещие слухи о положении армии доходили до него дорогой, и вид беспорядочно бегущей армии подтверждал эти слухи.
«Cette armee russe que l'or de l'Angleterre a transportee, des extremites de l'univers, nous allons lui faire eprouver le meme sort (le sort de l'armee d'Ulm)», [«Эта русская армия, которую английское золото перенесло сюда с конца света, испытает ту же участь (участь ульмской армии)».] вспоминал он слова приказа Бонапарта своей армии перед началом кампании, и слова эти одинаково возбуждали в нем удивление к гениальному герою, чувство оскорбленной гордости и надежду славы. «А ежели ничего не остается, кроме как умереть? думал он. Что же, коли нужно! Я сделаю это не хуже других».