Как удалить удаленную ветку с помощью 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