Как создать ветку в SVN?
Как создать ветку в SVN?
9 ответов
ветвление в Subversion облегчается очень очень легким и эффективным средством копирования.
ветвление и маркировка фактически одинаковы. Просто скопируйте всю папку в репозитории в другое место в репозитории, используя .
в основном это означает, что это по соглашению, что означает копирование папки - будь то резервная копия, тег, ветка или что-то еще. В зависимости от того, как вы хотите думать о вещах (обычно в зависимости от того, Инструмент SCM, который вы использовали в прошлом) вам нужно настроить структуру папок в вашем репозитории для поддержки вашего стиля.
общие стили должны иметь кучу папок в верхней части вашего репозитория под названием tags
, branches
, trunk
, etc. - это позволяет копировать весь ваш trunk
(или подмножества) в tags
и/или branches
папки. Если у вас есть более одного проекта, вы можете скопировать такую структуру в каждом проекте:
это может занять некоторое время чтобы привыкнуть к концепции-но она работает-просто убедитесь, что вы (и ваша команда) ясно на конвенциях, которые вы собираетесь использовать. Также неплохо иметь хорошее соглашение об именах - что - то, что говорит вам, почему ветвь/тег была сделана и по-прежнему ли она уместна-рассмотрите способы архивирования ветвей, которые устарели.
создайте новую ветку, используя следующим образом:
$ svn copy svn+ssh://host.example.com/repos/project/trunk \
svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH \
-m "Creating a branch of project"
если РЕПО доступно через https ,вы можете использовать эту команду для ветвления...
svn copy https://host.example.com/repos/project/trunk \
https://host.example.com/repos/project/branches/branch-name \
-m "Creating a branch of project"
svn cp /trunk/ /branch/NEW_Branch
Если у вас есть некоторые локальные изменения в магистрали, используйте Rsync
для синхронизации изменений
rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
обычно вы копируете его в svn + ssh: / / host.пример.com/repos/project/branches / mybranch, чтобы вы могли хранить несколько ветвей в репозитории, но ваш синтаксис действителен.
вот несколько советов по как настроить макет репозитория.
Предположим, вы хотите создать ветвь из имени магистрали (как " TEST") затем используйте:
svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
Если вы даже планируете объединить свою ветку, я настоятельно рекомендую вам посмотреть на это:
Я слышу, что Subversion 1.5 строит больше отслеживания слияния, у меня нет опыта с этим. Мой проект на 1.4.x и svnmerge.py это Спаситель жизни!
верхний совет для новых пользователей SVN; это может помочь немного с получением правильных URL-адресов быстро.
выполнить svn info
для отображения полезной информации о текущей извлеченный филиала.
URL должен (если вы запустите svn в корневой папке) дать вам URL, который вам нужно скопировать.
кроме того, чтобы переключиться на вновь созданную ветку, используйте :
svn switch http://my.repo.url/myrepo/branches/newBranchName
- создайте новую папку вне текущего проекта. Вы можете дать ему любое имя. (Пример: у вас есть проверка для проекта с именем "настройка". И у него много проектов, таких как" Project1","Project2"....И вы хотите создать ветку "Project1". Поэтому сначала откройте "настройка", щелкните правой кнопкой мыши и создайте новую папку и дайте ей имя"Project1Branch").
- щелкните правой кнопкой мыши на "Myproject1"....TortoiseSVN - > Ветка / Тег.
- выбрать рабочую копировать.
- открыть браузер....Просто справа от параллели на "To URL".
- выберите Настройки.....щелкните Добавить папку. и пройдите через папку, которую вы создали. Вот это "Project1Branch". Теперь нажмите кнопку OK, чтобы добавить.
- возьмите проверку этого нового banch.
- снова перейдите к проекту, ветку которого вы хотите создать. Щелкните правой кнопкой мыши TorotoiseSVN - > ветка / тег. Затем выберите рабочая копия. И вы можете дать URL-адрес в качестве имени вашей ветви. как {ваш IP-адрес / svn/AAAA/настройка / Project1Branch}. И вы можете установить имя в URL, чтобы создать папку только с этим именем. Например, {ваш IP-адрес / svn/AAAA/настройка/Project1Branch / MyProject1Branch}.
- Нажмите кнопку OK. Теперь вы можете увидеть журналы ...ваша рабочая копия будет храниться в вашем филиале.
- теперь вы можете взять чек...и пусть тебе нравится твоя работа. :)