git branch-d выдает ошибку: ветка не найдена
когда я типа git branch
Я
* master
localbranch
но когда я пытаюсь удалить ветку, git branch -d localbranch
Я получаю не найдена ошибка: error: branch 'localbranch' not found.
,
Я также попытался заставить удалить с git branch -D localbranch
но это дает мне ту же ошибку.
ветка была повреждена, и я сделал следующую процедуру,репозиторий Git поврежден (неправильная проверка заголовка; свободный объект поврежден), чтобы удалить поврежденные файлы, но теперь я не могу удалить ветку.
2 ответов
ветви хранятся в виде файлов, содержащих SHA, на которые они указывают. Попробуйте удалить файл для этой ветви с именем localbranch
С .git/refs/head/
каталог в вашем проекте:
rm .git/refs/heads/localbranch
в некоторых случаях ветка содержит символы, которые не отображаются в окне терминала, поэтому мне нужно было напрямую перейти в репозиторий.
мой Git для Windows оказался в этом состоянии:
$ git branch -l
master
* next
my-topic-branch
но удаление не удалось
$ git branch -D my-topic-branch
error: branch 'my-topic-branch' not found.
показ содержимого каталога heads показал, что название филиала было более сложным...
$ ls -al .git/refs/heads
total 7
drwxr-xr-x 1 112802 197121 0 Oct 11 13:06 ./
drwxr-xr-x 1 112802 197121 0 Jul 11 14:30 ../
-rw-r--r-- 1 112802 197121 41 Oct 4 12:39 ''$'22''my-topic-branch'
-rw-r--r-- 1 112802 197121 41 Sep 15 15:23 master
-rw-r--r-- 1 112802 197121 41 Oct 11 13:05 next
drwxr-xr-x 1 112802 197121 0 Jul 12 13:28 origin/
и я мог бы успешно удалить полное имя
$ git branch -D ''$'22''my-topic-branch'
Deleted branch my-topic-branch (was efbc2fa).