Как создать ветку в 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

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

Svnmerge.py

Я слышу, что 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. Теперь вы можете увидеть журналы ...ваша рабочая копия будет храниться в вашем филиале.
  • теперь вы можете взять чек...и пусть тебе нравится твоя работа. :)