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