Eu pesquisei no Google e existem vários tópicos muito longos sobre esse tópico, e nenhum deles parece ajudar. Eu acho que estou fazendo algo errado. Eu tenho um ramo chamado Test_Branch
. Quando tento excluí-lo usando o método recomendável, recebo o seguinte erro:
Não é possível excluir o ramo 'Test_Branch' com check-out em '[local do diretório]'.
Não recebo outras informações além disso. Posso explodir a filial remota com facilidade, mas a filial local não irá embora.
git branch
, o que diz?Respostas:
Alterne para outra ramificação e exclua da
Test_Branch
seguinte maneira:Se o comando acima fornecer erro -
The branch 'Test_Branch' is not fully merged. If you are sure you want to delete it
e você ainda deseja excluí-lo, poderá forçar a exclusão usando-o em-D
vez de-d
, como:Para excluir
Test_Branch
do controle remoto, execute:fonte
git status
, ougit branch
; se você estiver refazendo o Test_branch, simplesmente verificar uma ramificação / confirmação diferente não corrigirá isso. Em vez dissogit rebase --abort
,git checkout --detach
e finalmentegit branch -D Test_branch
error: you need to resolve your current index first
e eles só querem sair? EDIT - Soluçãogit reset --
:;git checkout -D [branch_name]
Ufa ..Você provavelmente já testou o Test_Branch e não pode excluí-lo enquanto este for seu ramo atual. Confira uma ramificação diferente e tente excluir Test_Branch.
fonte
Encontrei isso hoje e mudar para outro ramo não ajudou. Acontece que, de alguma forma, as informações da minha árvore de trabalho foram corrompidas e havia uma árvore de trabalho com o mesmo caminho de pasta que o meu diretório de trabalho e
HEAD
apontando para a ramificação (git worktree list
). Excluí a.git/worktree/
pasta que a referenciava egit branch -d
funcionou.fonte
Se você criou várias árvores de trabalho com a git worktree , precisará executar
git prune
antes de excluir a ramificaçãofonte
git worktree prune
Isso funcionou para mim ...
Eu removi as pastas da pasta .git / worktrees e tentei "git delete -D branch-name".
fonte
No meu caso, ocorreram alterações não confirmadas do ramo anterior. Eu usei os seguintes comandos e, em seguida, excluir funcionou.
git checkout *
mestre de verificação geral do git
ramo git -D
fonte
Como outros mencionados, você não pode excluir a ramificação atual em que está trabalhando.
No meu caso, selecionei "Test_Branch" no Visual Studio e estava tentando excluir "Test_Branch" do Sourcetree (Git GUI). E estava ficando abaixo da mensagem de erro.
Alterou para ramificação diferente no Visual Studio e conseguiu excluir "Test_Branch" do Sourcetree.
Espero que isso ajude alguém que esteja usando o Visual Studio & Sourcetree .
fonte