Удаление локальной ветки с помощью Git
У меня есть googled, и есть несколько очень длинных тем по этой теме, и никто из них, похоже, не помогает. Я думаю, что я делаю что-то неправильно.
У меня есть ветвь с именем Test_Branch
. Когда я пытаюсь удалить его с помощью рекомендуемого метода, я получаю следующую ошибку:
Не удается удалить ветвь "Test_Branch", извлеченная из каталога [[ место].
Я не получаю никакой другой информации кроме этого. Я могу легко удалить удаленную ветку, но локальная ветка не исчезнет.
Ответы
Ответ 1
Переключитесь на другую ветку и удалите Test_Branch
следующим образом:
$ git checkout master
$ git branch -d Test_Branch
Если приведенная выше команда дает вам ошибку - The branch 'Test_Branch' is not fully merged. If you are sure you want to delete it
и все еще вы хотите ее удалить, вы можете принудительно удалить ее с помощью -D
вместо -D
, как:
$ git branch -D Test_Branch
Чтобы удалить Test_Branch
с удаленного устройства, выполните:
git push origin --delete Test_Branch
Ответ 2
Вероятно, вы проверили Test_Branch, и вы не можете удалить его, пока это ваша текущая ветка. Проверьте другую ветку, а затем попробуйте удалить Test_Branch.
Ответ 3
В этот день перешел на это, и переход на другую ветку не помог. Оказалось, что какая-то информация о worktree испортилась, и была рабочая тропа с тем же патчем, что и мой рабочий каталог с HEAD
, указывающим на ветку (git worktree list
). Я удалил папку .git/worktree/
, которая ссылалась на нее, и git branch -d
работал.
Ответ 4
Если вы создали несколько рабочих тэгов с git worktree, вам нужно запустить git prune
, прежде чем удалять ветку
Ответ 5
Это сработало для меня...
Я удалил папки в папке .git/worktrees и попытался "git delete -D branch-name".
Ответ 6
Как и другие, вы не можете удалить текущую ветку, в которой вы работаете.
В моем случае я выбрал "Test_Branch" в Visual Studio и пытался удалить "Test_Branch" из Sourcetree (Git GUI). И получал ниже сообщение об ошибке.
Невозможно удалить ветку 'Test_Branch', извлеченную в '[расположение каталога]'.
Переключился на другую ветку в Visual Studio и смог удалить "Test_Branch" из Sourcetree.
Я надеюсь, что это поможет кому-то, кто использует Visual Studio & Sourcetree.
Ответ 7
В моем случае произошли незафиксированные изменения по сравнению с предыдущей веткой. Я использовал следующие команды, а затем удалил сработало.
Git Checkout *
мастер git checkout
Git Branch -D