Я создал ветку проекта SVN под названием "функции", и теперь, когда я пытаюсь обновить этот проект, он приносит с собой папку с функциями, которая содержит другую копию проекта из ветки. Есть ли способ полностью удалить ветку из хранилища, чтобы этого больше не было?
Удаление ветки SVN
Ответ 1
Конечно: svn rm
нежелательная папка и фиксация.
Чтобы избежать этой ситуации в будущем, я бы выполнил рекомендуемый макет для проектов SVN:
- Поместите свой код в
/someproject/trunk
(или просто/trunk
, если вы хотите поставить только один проект в репозитории) - Созданы ветки как
/someproject/branches/somebranch
- Поместите теги под
/someproject/tags
Теперь, когда вы просматриваете рабочую копию, обязательно проверяйте только trunk
или отдельную ветку. Не проверить все в одной огромной рабочей копии, содержащей все ветки. 1
1 Если вы не знаете, что делаете, в этом случае вы знаете, как создавать мелкие рабочие копии.
Ответ 2
Предполагая, что эта ветвь не является внешней или символической ссылкой, удаление ветки должно быть таким же простым, как:
svn rm branches/< mybranch >
svn ci -m "message"
Если вы хотите сделать это в репозитории, а затем обновите его, чтобы удалить его из своей рабочей копии, вы можете сделать что-то вроде:
svn rm http://< myurl >/< myrepo >/branches/< mybranch >
Затем запустите:
svn update
Ответ 3
Для тех, кто использует TortoiseSVN, это можно сделать с помощью браузера репозитория (он помечен как "Repo-browser" в контекстном меню.)
Найдите папку ветки, которую вы хотите удалить, щелкните ее правой кнопкой мыши и выберите "Удалить".
Введите сообщение о фиксации, и все готово.
Ответ 4
Вы также можете удалить ветку на пульте дистанционного управления напрямую. Сделав это, следующее обновление удалит его из вашей рабочей копии.
svn rm "^/reponame/branches/name_of_branch" -m "cleaning up old branch name_of_branch"
^
не подходит для URL-адреса пульта, как показано в "svn info". Двойные кавычки необходимы в командной строке Windows, потому что ^
является специальным символом.
Эта команда также будет работать, если вы никогда не проверяли ветку.
Ответ 5
Вы можете удалить папку с функциями так же, как и любую другую в своем контроле, а затем зафиксировать изменение.
Чтобы предотвратить это в будущем, я предлагаю вам следовать соглашениям об именах для макета SVN.
Либо каждый проект создает соединительную линию, ветки, папку тегов при их создании.
svn
+ project1
+ trunk
+ src
+ etc...
+ branches
+ features
+ src
+ etc...
+ tags
+ project2
+ trunk
+ branches
+ tags
Ответ 6
Из рабочей копии:
svn rm branches/features
svn commit -m "delete stale feature branch"
Ответ 7
Команда для удаления ветки выглядит следующим образом:
svn delete -m "< ваше сообщение > " < branch url >
Если вы не хотите получать/проверять весь репо, выполните следующую команду на своем терминале:
1) получить абсолютный путь каталога, который будет содержать вашу рабочую копию
> PWD
2) Запустите проверку кода svn
> svn checkout < branch url > < абсолютный путь от точки 1 >
Вышеупомянутые шаги предоставят вам файлы внутри папки ветки, а не всю папку.