Busqué en Google y hay varios hilos muy largos sobre este tema y ninguno de ellos parece ayudar. Creo que estoy haciendo algo mal. Tengo una rama llamada Test_Branch. Cuando intento eliminarlo con el método recomendado, aparece el siguiente error:
No se puede eliminar la rama 'Test_Branch' desprotegida en '[ubicación del directorio]'.
No obtengo otra información además de eso. Puedo volar fácilmente la rama remota, pero la rama local no desaparecerá.

git branch, ¿qué dice?Respuestas:
Cambie a otra rama y elimine
Test_Branch, de la siguiente manera:Si el comando anterior le da un error,
The branch 'Test_Branch' is not fully merged. If you are sure you want to delete ity aún desea eliminarlo, puede forzarlo a usarlo en-Dlugar de-d, como:Para eliminar también
Test_Branchdel control remoto, ejecute:fuente
git status, ogit branch; si está cambiando el nombre de Test_branch, simplemente verificar una rama / confirmación diferente no solucionará esto. En cambio,git rebase --abortentoncesgit checkout --detachy finalmentegit branch -D Test_brancherror: you need to resolve your current index firsty solo quieren irse? EDITAR - Solución:git reset --;git checkout -D [branch_name]Uf ..Probablemente haya desprotegido Test_Branch, y no puede eliminarlo mientras sea su rama actual. Echa un vistazo a una rama diferente y luego intenta eliminar Test_Branch.
fuente
Me encontré con esto hoy y cambiar a otra rama no ayudó. Resultó que de alguna manera la información de mi árbol de trabajo se había dañado y había un árbol de trabajo con la misma ruta de carpeta que mi directorio de trabajo con un
HEADseñalador en la rama (git worktree list). Eliminé la.git/worktree/carpeta que lo hacía referencia ygit branch -dfuncionó.fuente
Si ha creado múltiples árboles de trabajo con git worktree , deberá ejecutar
git pruneantes de poder eliminar la ramafuente
git worktree pruneEsto funcionó para mí ...
He eliminado las carpetas allí en la carpeta .git / worktrees y luego intenté "git delete -D branch-name".
fuente
En mi caso, hubo cambios no confirmados de la rama anterior persistente. Usé los siguientes comandos y luego eliminé trabajado.
git checkout *
git checkout master
git branch -D
fuente
Al igual que otros mencionados, no puede eliminar la rama actual en la que está trabajando.
En mi caso, seleccioné "Test_Branch" en Visual Studio e intenté eliminar "Test_Branch" de Sourcetree (Git GUI). Y se estaba poniendo debajo del mensaje de error.
Cambió a una rama diferente en Visual Studio y pude eliminar "Test_Branch" de Sourcetree.
Espero que esto ayude a alguien que está usando Visual Studio y Sourcetree .
fuente