Как удалить удаленную ветку с помощью Git?
Я знаю, что это было рассмотрено ранее, но я пробовал следующее и не могу удалить удаленную ветку.
[email protected]:~/workspace/3DOD_VARIANCE$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/multi_gauss_at_nodes
remotes/origin/old-state-with-mean-deviation-from-centre
remotes/origin/variance-branch
[email protected]:~/workspace/3DOD_VARIANCE$ git branch -r -d origin/old-state-with-mean-deviation-from-centre Deleted remote branch origin/old-state-with-mean-deviation-from-centre (was 0ed90b2).
Fetching origin
From https://bitbucket.org/alykhantejani/3dobjectdetection
* [new branch] old-state-with-mean-deviation-from-centre -> origin/old-state-with-mean-deviation-from-centre
Как вы видите, ветка снова была извлечена. Любая идея, что я делаю неправильно?
Кроме того, в качестве побочного примечания, есть ли способ проверить, была ли эта ветка уже объединена обратно в master до того, как я удалю?
Ответы
Ответ 1
Команда полного нажатия следующая
git push <remote name> <local branch>:<remote branch>
Просто отправьте "никакой ветки вообще" на удаленный сервер таким образом:
git push origin :old-state-with-mean-deviation-from-centre
Для sidenote: git запрещается удалять ветку, которая не была объединена при использовании "git branch -d" (и говорит вам использовать -D, если вы действительно обязательно удалите ее в любом случае).
Также обратите внимание, что git branch -d -r <branch name>
удаляет ссылки в вашей папке .git(а не в вещественной ветке, расположенной на удаленном сервере), поэтому новая выборка создаст ее
Ответ 2
Чтобы удалить удаленный ветвь, выполните следующие действия:
git push origin :branch-to-delete
Уловка в двоеточие
Ответ 3
попробовать
git push origin :remote_branch_to_be_deleted