Удаление ветки SVN - PullRequest
       64

Удаление ветки SVN

83 голосов
/ 29 сентября 2010

Я создал ветку проекта SVN под названием «Функции», и теперь, когда я пытаюсь обновить указанный проект, он приносит с собой папку «Функции», которая содержит еще одну копию проекта из этой ветки. Есть ли способ полностью удалить ветку из хранилища, чтобы это больше не происходило?

Ответы [ 7 ]

99 голосов
/ 29 сентября 2010

Конечно: svn rm нежелательная папка и фиксация.

Чтобы избежать такой ситуации в будущем, я бы следовал рекомендуемой раскладке для проектов SVN:

  • Поместите ваш код в папку /someproject/trunk (или просто /trunk, если вы хотите поместить в репозиторий только один проект)
  • Создавайте ветви как /someproject/branches/somebranch
  • Положитетеги под /someproject/tags

Теперь, когда вы извлекаете рабочую копию, обязательно отметьте только trunk или какую-то отдельную ветку. Не проверить все в одной огромной рабочей копии, содержащей все ветви. 1

1 Если вы не знаете, что вы 'вы делаете, и в этом случае вы знаете, как создавать мелкие рабочие копии.

54 голосов
/ 29 сентября 2010

Предполагая, что эта ветвь не является внешней или символической ссылкой, удаление ветки должно быть простым:

svn rm branches/< mybranch >

svn ci -m "message"

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

svn rm http://< myurl >/< myrepo >/branches/< mybranch >

Затем запустите:

svn update
47 голосов
/ 30 апреля 2014

Для тех, кто использует TortoiseSVN , это можно сделать с помощью обозревателя хранилища (в контекстном меню он помечен как «Repo-browser»).

context menu

Найдите папку ветви, которую хотите удалить, щелкните ее правой кнопкой мыши и выберите «Удалить».

deleting the folder

Введите сообщение о коммите, и все готово.

committing

8 голосов
/ 25 июля 2014

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

svn rm "^/reponame/branches/name_of_branch" -m "cleaning up old branch name_of_branch"

^ - это сокращение от URL-адреса удаленного устройства, как видно из 'svn info'.Двойные кавычки необходимы в командной строке Windows, потому что ^ - это специальный символ.

Эта команда также будет работать, если вы никогда не проверяли ветку.

3 голосов
/ 29 сентября 2010

Из рабочей копии:

svn rm branches/features
svn commit -m "delete stale feature branch"

3 голосов
/ 29 сентября 2010

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

Чтобы предотвратить это в будущем, я предлагаю вам следовать соглашениям об именах для макета SVN.

Либо дайте каждому проекту ствол, ветки, папку тегов при их создании.

svn
+ project1
  + trunk
    + src
    + etc...
  + branches
    + features
      + src
      + etc...
  + tags
+ project2
  + trunk
  + branches
  + tags
2 голосов
/ 12 июня 2017

Команда для удаления ветки выглядит следующим образом:

svn delete -m ""

Если вы не хотите получать / извлекать весь репозиторий, выполните на терминале следующую команду:

1) получите абсолютный путь к каталогу, в котором будет находиться ваша рабочая копия
> pwd
2) Запустить проверку кода SVN
> Проверка SVN

Приведенные выше шаги помогут вам получить файлы внутри папки филиала, а не всю папку.

...