Para verificar se uma branch local do Git pode ser excluída com segurança no macOS, inspecione sua árvore de trabalho, compare os commits da branch com a branch que você pretende manter e verifique se ela está em uso em outra worktree. Abra o Terminal, mude para o repositório e use a verificação de branches mescladas do Git como evidência — não como uma garantia de que a branch não tem valor. Se estiver em dúvida, mantenha a branch até confirmar que seu trabalho está preservado.
1. Abra o repositório e verifique se há alterações não finalizadas
Abra o Terminal em Aplicativos > Utilitários, ou use o Spotlight para localizá-lo. A Apple documenta o zsh como o shell padrão do Terminal, e os comandos abaixo funcionam na configuração padrão do macOS. No Terminal, acesse o diretório do repositório; coloque o caminho entre aspas se ele contiver espaços:
cd "/path/to/your/repository"
git status --short --branch
A saída do status mostra a branch em checkout e se os arquivos têm alterações. Faça o commit ou preserve de outra forma as alterações de arquivo desejadas antes de trocar de branch. Essa verificação é independente do histórico da branch: uma árvore de trabalho limpa não significa que os commits da branch foram mesclados. Da mesma forma, alterações não commitadas não estão protegidas apenas porque você exclui uma branch com a opção normal de exclusão segura do Git.
2. Verifique se a branch foi mesclada no destino correto
Primeiro, identifique a branch que você pretende manter, normalmente main ou develop. Se você estiver atualmente na branch candidata, mude para a branch de destino antes de excluir qualquer coisa. Substitua feature/example e main abaixo pelos nomes reais das suas branches:
git switch main
git branch --merged main
git branch --no-merged main
A primeira lista contém as branches locais cujas pontas são alcançáveis a partir de main; a segunda lista as branches cujas pontas não são. O Git descreve git branch --merged como a listagem de branches mescladas no commit especificado (ou HEAD se nenhum for fornecido). Esse é um teste do histórico de commits, portanto, só é útil quando main for a branch que deve conter o trabalho. Uma branch mesclada em outra branch de release ou de integração ainda pode aparecer como não mesclada em relação a main. Documentação de branch do Git
Se a candidata aparecer em --merged main, isso é uma forte indicação de que seus commits já são alcançáveis a partir de main. Confirme se o recurso ou a correção está presente onde esperado, especialmente se sua equipe usa pull requests, branches de release ou um destino de merge diferente. Se ela aparecer sob --no-merged, não a exclua até inspecionar quais commits são exclusivos dela.
3. Inspecione os commits e o rastreamento do upstream
Para comparar uma candidata com o destino, use:
git log --oneline main..feature/example
Isso mostra commits alcançáveis a partir de feature/example que não são alcançáveis a partir de main. Se houver commits na saída, inspecione-os e decida se precisam ser mesclados, receber cherry-pick ou ser mantidos. Um resultado vazio significa que a candidata não tem commits além de main nessa comparação; isso não estabelece que o nome da branch ou sua finalidade não sejam mais necessários.
Uma branch também pode rastrear uma branch remota. Verifique as informações de rastreamento com:
git branch -vv
Um upstream é uma referência configurada usada pelo Git para operações como pull e push. Um upstream ausente ou inexistente não comprova que a branch local pode ser removida com segurança: seus commits ainda podem ser exclusivos. Além disso, uma referência de rastreamento remoto pode estar desatualizada até que você faça um fetch. Se você quiser atualizar os dados de rastreamento remoto, git fetch --prune origin busca de origin e remove referências de rastreamento remoto obsoletas de acordo com o refspec desse remoto; isso não exclui sua branch local. Documentação de fetch do Git
4. Verifique as worktrees e, em seguida, exclua com segurança
Uma branch pode estar em checkout em outra worktree vinculada. O Git se recusa a excluir uma branch que está em checkout, portanto, se a exclusão for recusada, verifique git worktree list e inspecione os diretórios listados antes de tomar qualquer outra ação. Verifique também se a candidata não é sua branch atual; mude primeiro para o destino pretendido. Documentação de branch do Git
Quando você confirmar que o trabalho está preservado e a branch não é mais necessária, exclua-a usando a opção protegida do Git:
git branch -d feature/example
O Git permite -d apenas quando a branch está totalmente mesclada em seu upstream configurado, ou em HEAD quando nenhum upstream está configurado. Se o Git recusar, encare isso como um aviso para investigar. -D força a exclusão independentemente do status de merge; ele ignora essa salvaguarda e não deve ser uma solução alternativa rotineira. Documentação de branch do Git
Uma decisão cautelosa é direta: exclua com -d apenas depois que o trabalho da candidata estiver presente no destino pretendido, os commits exclusivos tiverem sido revisados e nenhuma worktree ainda estiver usando a branch. Se alguma dessas verificações não estiver clara, mantenha a branch e esclareça seu destino primeiro.