Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

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

Ответ 3

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

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

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

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

  • Сохранение вех - проекты обычно имеют много фаз разработки. Dev, UT, QA, pre-QA, пост-QA, BAT, пост-BAT, PROD, pre-PROD, post-PROD. Вы можете использовать теги, чтобы сделать снимок вашего развития на каждом значительном этапе, вместо того, чтобы полагаться на номера редакций, даты или комментарии.

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

Ответ 4

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

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

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