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 it
y aún desea eliminarlo, puede forzarlo a usarlo en-D
lugar de-d
, como:Para eliminar también
Test_Branch
del 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 --abort
entoncesgit checkout --detach
y finalmentegit branch -D Test_branch
error: you need to resolve your current index first
y 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
HEAD
señalador en la rama (git worktree list
). Eliminé la.git/worktree/
carpeta que lo hacía referencia ygit branch -d
funcionó.fuente
Si ha creado múltiples árboles de trabajo con git worktree , deberá ejecutar
git prune
antes de poder eliminar la ramafuente
git worktree prune
Esto 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