Как мне создать ветку? - PullRequest
       86

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

607 голосов
/ 05 августа 2008

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

Ответы [ 9 ]

597 голосов
/ 05 августа 2008

Создайте новую ветку с помощью команды 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"
342 голосов
/ 05 августа 2008

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

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

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

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

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

30 голосов
/ 10 февраля 2016

Если ваше репо доступно через 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"
25 голосов
/ 03 сентября 2013
svn cp /trunk/ /branch/NEW_Branch

Если у вас есть некоторые локальные изменения в транке, используйте Rsync для синхронизации изменений

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
14 голосов
/ 23 июля 2013

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

svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
14 голосов
/ 05 августа 2008

Обычно вы копируете его в svn + ssh: //host.example.com/repos/project/branches/mybranch, чтобы вы могли сохранить несколько веток в хранилище, но ваш синтаксис действителен.

Вот несколько советов по , как настроить макет хранилища .

11 голосов
/ 28 марта 2014

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

Запустите svn info, чтобы отобразить полезную информацию о текущей извлеченной ветке.

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

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

svn switch http://my.repo.url/myrepo/branches/newBranchName
11 голосов
/ 05 августа 2008

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

Svnmerge.py

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

5 голосов
/ 05 февраля 2014
  • Создайте новую папку за пределами вашего текущего проекта. Вы можете дать ему любое имя. (Пример: у вас есть заказ для проекта с именем «Customization». И у него есть много проектов, таких как «Project1», «Project2» .... И вы хотите создать ветку «Project1». Поэтому сначала откройте » Настройка ", щелкните правой кнопкой мыши и создайте новую папку и назовите ее" Project1Branch ").
  • Щелкните правой кнопкой мыши "Myproject1" .... TortoiseSVN -> Branch / Tag.
  • Выберите рабочую копию.
  • Открыть браузер .... Справа от параллели "To URL".
  • Выберите настройку ..... щелкните правой кнопкой мыши, затем выберите Добавить папку. и перейдите в папку, которую вы создали. Вот это «Project1Branch». Теперь нажмите кнопку ОК, чтобы добавить.
  • Оформите заказ на этот новый банч.
  • Снова зайдите в ваш проект, какую ветку вы хотите создать. Щелкните правой кнопкой мыши TorotoiseSVN -> ветка / тег. Затем выберите рабочую копию. И вы можете дать URL-адрес в качестве названия вашей ветви. как {ваш IP-адрес / svn / AAAA / настройка / Project1Branch}. И вы можете установить имя в URL, чтобы он создавал папку только с этим именем. Нравится {Ваш IP-адрес / svn / AAAA / Настройка / Project1Branch / MyProject1Branch}.
  • Нажмите кнопку ОК. Теперь вы можете видеть логи в ... ваша рабочая копия будет храниться в вашей ветке.
  • Теперь вы можете пройти проверку ... и позволить вам наслаждаться своей работой. :)
...