В чем разница между тегом и веткой в SVN?


Я работаю с ветвями SVN и стволом в течение многих лет, но никогда с тегами

может кто-нибудь посоветовать, в чем главная разница между ними? Какова основная цель пометки?

4 52

4 ответа:

Это от http://svnbook.red-bean.com/en/1.5/svn.branchmerge.tags.html

но подождите минутку: разве это не та же самая процедура создания тегов процедура, которую мы использовали для создания ветки? Да, на самом деле, это. В Subversion, нет никакой разницы между тегом и веткой. Оба просто обычные каталоги, которые создаются путем копирования. Так же, как и с ветви,единственная причина, по которой скопированный каталог является "тегом", заключается в том, что люди решили относитесь к этому так: пока никто не фиксируется в каталог, он навсегда остается моментальным снимком. Если люди начните привязываться к ней, она станет ветвью.

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

разница только в том, для чего вы их используете, они одинаковы.

ветка, где вы можете разработать работу над другой версией кода для основной магистрали.

тег используется для " тег " релиз. Допустим, я работаю только над багажником. Когда я отправляю V1 клиенту, я создаю для него "тег V1". Затем я работаю над V2. Когда у клиента есть проблема с V1, я могу просто проверить тег и начать отладку проблемы на той же версии, что и клиент. Вы можно проверить в теге, но вы не должен. Если вам нужно сделать выпуск V1.1, вы создаете ветвь из той же версии, что и тег V1, и возвращаете исправления к этому, и помечаете его, когда он выпущен как V1.1.

"ствол" и "ветви" обычно используются для активного и текущего развития. Именно там пользователи фиксируют / проверяют файлы. Это, как правило, где происходит много деятельности.

с другой стороны," Теги " обычно используются для создания моментального снимка и вехи вашего развития. Это не совсем идеально для вашей команды, чтобы сделать какие-либо фиксации/проверки на папки тегов.

вот два примера применимости Теги:

  1. филиала архивации - Когда выпуск или ветвь функции были закончены или полностью отброшены, вы обычно удаляете ветвь, и это эффективно скрывает ее от главной ревизии. Некоторые люди обычно не удаляют эти папки для архивирования, поскольку они предпочли бы видеть все свои выпуски/проекты. Это, однако, может привести к ветви дерева трудно ориентироваться. Вот почему лучше хранить только активные и запущенные выпуски и функции проекта в головном reivision папки ветвей. Вы можете создать Пометьте копию последней редакции этих архивированных ветвей, чтобы вы все еще могли видеть их в Главной редакции. Таким образом, вы можете иметь быстрый снимок последней редакции ветви до того, как ветвь была заархивирована, а также сохранить вещи в дереве ветвей в порядке.

  2. сохранение вехи-проекты, как правило, имеют много этапов развития. Дев, УТ, ОК, предварительно ОК, после ОК, летучая мышь, пост-летучая мышь, прод, пре-прод, пост-прод. Вы можете использовать теги для создания моментального снимка своей разработки по адресу каждый значительный этап вместо того, чтобы полагаться на номера версий, даты или комментарии.

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

теги и ветви технически эквивалентны. Разница в том, как они обычно используются.

вы используете ветви, чтобы сделать редактируемую копию кода, так что вы можете разработать стабильную и рабочую копию одновременно.

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