Menu
Coddy logo textTech

Git: Excluir um branch local

Última atualização

Depois que o trabalho de um branch é mesclado, você o exclui com git branch -d <branch>. O Git recusa se o branch tiver commits que não estão mesclados em lugar nenhum - uma verificação de segurança. Para excluí-lo mesmo assim, use o -D maiúsculo. Excluir um branch local nunca afeta a cópia no remoto; esse é um comando separado.

Experimente isto no terminal playground - um shell de verdade no seu navegador, sem nada para instalar.

git branch -d remove apenas o ponteiro do branch - os commits mesclados continuam no histórico da main.

Sintaxe

CommandWhat it does
git branch -d featureExclui feature (apenas se estiver mesclado)
git branch -D featureForça a exclusão de feature mesmo se não estiver mesclado
git branch -d branch1 branch2Exclui vários branches de uma vez

Casos comuns

GoalCommand
Excluir um branch mescladogit branch -d old-feature
Forçar a exclusão de um branch não mescladogit branch -D scratch
Excluir o branch em que você estágit switch main e então git branch -d feature
Ver quais branches estão mescladosgit branch --merged

Exemplo prático

Termine uma funcionalidade, mescle-a e limpe o branch local.

StepCommandResult
1git switch mainSaia do branch que você quer excluir
2git merge featureTraz os commits da funcionalidade para main
3git branch -d featureExclui o branch agora mesclado

Perguntas frequentes sobre excluir branch local no Git

Qual é a diferença entre git branch -d e -D?
-d é a exclusão segura: o Git só remove o branch se seus commits já estiverem mesclados em outro branch, então você não perde trabalho por acidente. -D é a exclusão forçada (abreviação de --delete --force): remove o branch de qualquer jeito, mesmo que tenha commits não mesclados. Use -d por padrão e recorra ao -D apenas quando tiver certeza de que quer descartar os commits do branch.
Como excluo o branch em que estou atualmente?
Você não pode excluir o branch que está com checkout ativo. Mude primeiro para outro branch com git switch main (ou git checkout main) e então execute git branch -d feature. Se tentar excluir o branch atual, o Git gera o erro "Cannot delete branch ... checked out".
Excluir um branch local também o exclui no GitHub?
Não. git branch -d só remove o branch do seu repositório local. O branch no remoto (GitHub, GitLab, etc.) permanece até você excluí-lo separadamente com git push origin --delete feature.
Posso recuperar um branch que excluí?
Geralmente sim, se foi recente. Execute git reflog para encontrar o commit para o qual o branch apontava e então recrie-o com git branch feature <commit-hash>. Os commits não são coletados como lixo imediatamente, então um branch excluído por engano normalmente pode ser restaurado.
Posso praticar isto online?
Sim. Abra o terminal playground para executar esses comandos em um shell de verdade no seu navegador - sem nada para instalar. Quando quiser estrutura, o curso interativo e gratuito de Git da Coddy leva você do seu primeiro commit até branching e merging passo a passo.
Coddy programming languages illustration

Aprenda Git com a Coddy

COMEÇAR