Вопрос

Как мне создать ветку в SVN?

Это было полезно?

Решение

Ветвлению в Subversion способствует очень-очень легкое и эффективное средство копирования.

Ветвление и пометка - это фактически одно и то же.Просто скопируйте целую папку из репозитория в другое место в репозитории, используя svn copy команда.

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

Общие стили заключаются в том, чтобы иметь кучу папок в верхней части вашего репозитория под названием tags, branches, trunk, и т.д.- это позволяет вам копировать весь ваш trunk (или подмножества) в tags и/или branches папки.Если у вас более одного проекта, вы можете захотеть воспроизвести такого рода структуру в рамках каждого проекта:

Может потребоваться некоторое время, чтобы привыкнуть к концепции, но это работает - просто убедитесь, что вам (и вашей команде) понятны соглашения, которые вы собираетесь использовать.Также неплохо иметь хорошее соглашение об именовании - что-то, что говорит вам, почему была создана ветвь / тег и подходит ли это по-прежнему - рассмотрите способы архивирования ветвей, которые устарели.

Другие советы

Создайте новую ветку, используя svn copy выполните следующую команду:

$ 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.example.com/repos/project/branches/mybranch, чтобы вы могли хранить несколько ветвей в репозитории, но ваш синтаксис допустим.

Вот несколько советов по как настроить макет вашего репозитория.

Предположим, вы хотите создать ветку из имени магистрали (как "TEST") затем используйте:

svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST

Если вы даже планируете объединить свою ветку, я настоятельно рекомендую вам взглянуть на это:

Svnmerge.py

Я слышал, что Subversion 1.5 встраивает больше отслеживания слияний, но у меня нет опыта в этом.Мой проект находится на версии 1.4.x и svnmerge.py спасает мою жизнь!

Лучший совет для новых пользователей SVN;это может немного помочь в быстром получении правильных URL-адресов.

Бежать svn info для отображения полезной информации о текущем извлеченном филиале.

URL-адрес должен (если вы запускаете svn в корневой папке) указывать вам URL, с которого вам нужно скопировать.

Также, чтобы переключиться на вновь созданную ветку, используйте svn switch команда:

svn switch http://my.repo.url/myrepo/branches/newBranchName
  • Создайте новую папку за пределами вашего текущего проекта.Вы можете дать ему любое название.(Пример:У вас есть проверка для проекта с именем "Настройка".И в нем есть много проектов, таких как "Project1", "Project2"....И вы хотите создать ветку "Project1".Итак, сначала откройте "Настройка", щелкните правой кнопкой мыши и создайте новую папку и дайте ей имя "Project1Branch").
  • Щелкните правой кнопкой мыши на "Myproject1"....TortoiseSVN -> Ветка / Тег.
  • Выберите рабочая копия.
  • Откройте браузер....Просто справа от параллели на "К URL".
  • Выберите настройка ..... щелкните правой кнопкой мыши, затем Добавьте папку.и пройдите по папке, которую вы создали.Вот это и есть "Project1Branch".Теперь нажмите кнопку OK, чтобы добавить.
  • Оформите заказ на этот новый банк.
  • Снова перейдите к своему проекту, ветку которого вы хотите создать.Щелкните правой кнопкой мыши TorotoiseSVN -> ветвь / тег.Затем выберите рабочая копия.И вы можете указать URL-адрес в качестве названия вашего филиала.например {ваш IP-адрес/svn/AAAA/Настройка/Project1Branch}.И вы можете указать имя в URL-адресе, чтобы создать папку только с этим именем.Например {Ваш IP-адрес/svn/AAAA/Настройка/Project1Branch/MyProject1Branch}.
  • Нажмите кнопку OK.Теперь вы можете просмотреть логи...ваша рабочая копия будет храниться в вашем филиале.
  • Теперь вы можете выписать чек ... и наслаждаться своей работой.:)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top