Eliminar elementos desnecessários é, na verdade, uma prática valiosa. Ao fazê-lo, abrimos espaço para novas ideias e simplificamos a gestão do que realmente importa. Neste artigo, exploraremos diversas abordagens para apagar branches no GitHub.
Os branches são ferramentas essenciais para desenvolvedores. Se você já tem experiência, pode pular a próxima seção. Caso seja um iniciante no Git ou esteja curioso sobre o uso de branches, continue a leitura.
O que são Branches?
Um branch é essencialmente um ponteiro para um commit específico. Para entender o conceito, não basta ler a definição; é necessário visualizar seu funcionamento. Vamos analisar como os desenvolvedores utilizam branches em projetos reais, através de ilustrações.
Considere o seguinte cenário prático:
- Imagine que você faz parte de uma equipe de desenvolvimento de software.
- Seu líder o aborda com a seguinte solicitação: “Encontramos alguns erros no produto. Você pode corrigi-los?”.
- Sua resposta: “Claro”.
- Nesse momento, seu histórico de commits no Git se parece com algo assim:
Commits do Git
- A pergunta crucial é: você trabalharia diretamente no branch principal (master)?
- Absolutamente não. Trabalhar diretamente no master pode gerar problemas futuros. Mostraremos como isso poderia acontecer.
- A melhor prática é criar um novo branch a partir do master para corrigir os erros. Inicialmente, ambos os branches apontarão para o mesmo commit.
Novo Branch
- Você inicia a correção de bugs, fazendo 5 commits. Seu novo branch avança, e a situação se parece com isto:
Novos Commits
- Seu novo branch agora aponta para o commit C8, enquanto o branch master permanece em C3.
- Um novo imprevisto acontece: sua equipe o informa sobre um bug crítico que precisa ser corrigido imediatamente.
- Você já está trabalhando em correções de bugs, mas agora tem uma prioridade maior.
- É necessário mudar o foco para os novos bugs.
- E o código que você escreveu até agora?
- Sem problemas! Como você criou um branch separado para os bugs anteriores, todo seu progresso está seguro nesse branch.
- Você volta para o master e cria um novo branch, chamado “critical-bug-fix”, para começar a trabalhar nas novas correções.
Outro Novo Branch
- Caso você não tivesse criado um novo branch para os bugs anteriores, o que aconteceria?
- Você teria que descartar o código que escreveu e recomeçar o trabalho nos novos bugs, além de ter que reescrever o código anterior posteriormente.
- É exatamente este tipo de problema que os branches ajudam a evitar.
- Os branches permitem que você desenvolva código de forma independente.
- Após corrigir os novos bugs, você faz os commits necessários.
Commits do Novo Branch
- Após concluir a correção dos novos bugs, você pode voltar a trabalhar nos bugs anteriores.
Com o uso de branches, a gestão do código se torna muito mais organizada. Imagine a confusão que seria sem eles.
Em resumo, os branches são uma ferramenta essencial e muito útil para desenvolvedores.
Sem mais delongas, vamos aprender como apagar um branch.
Excluir Branch Usando o Cliente Git
Ao apagar um branch, estamos realizando essa ação localmente e remotamente. Vamos detalhar os passos:
- Abra o terminal ou prompt de comando e vá para o diretório do seu repositório Git.
- Use o comando
git branch -a
para listar os branches existentes, tanto locais quanto remotos.
Branches do Repositório
- Copie o nome do branch que deseja excluir. No exemplo acima, é “um”.
- Mude para o branch master, main ou qualquer outro branch que não seja o que você deseja excluir.
- Exclua o branch local usando o comando
git branch -d nomeDoBranch
. Substitua “nomeDoBranch” pelo nome real do seu branch.
Excluir Branch Local
- Verifique os branches novamente com
git branch -a
. Você ainda verá o branch excluído no remoto, pois ainda não o removemos de lá.
Lista de Branches
- Para excluir o branch no remoto, execute o comando
git push nomeRemoto -d nomeDoBranch
, substituindo “nomeRemoto” e “nomeDoBranch” pelos valores corretos.
Excluir Branch Remoto
- Existe um atalho para excluir o branch remotamente:
git push nomeRemoto :nomeDoBranch
.
Após seguir os passos corretamente, verifique os branches. Você não deverá mais encontrar o branch excluído, nem localmente nem remotamente.
Lista de Branches
Se tentar excluir um branch que não existe, você receberá uma mensagem de erro.
Erro ao Excluir
É isso! Você excluiu um branch com sucesso, tanto local quanto remotamente.
Existe também outra maneira de realizar essa ação, usando a interface web do GitHub.
Vamos ver como isso funciona.
Excluir Branch Usando a Web
A principal diferença entre este método e o anterior é que usaremos a interface web do GitHub para excluir o branch remoto. A exclusão do branch local será realizada da mesma forma que no método anterior.
Veja como excluir o branch remoto usando a interface web do GitHub:
- Acesse o GitHub.
- Faça login na sua conta.
- Navegue até o repositório onde deseja excluir um branch.
Repositório
- Clique no botão “branches” para visualizar todos os branches do repositório.
Branches do Repositório
- Você verá a lista de branches do seu repositório.
- Ao lado de cada branch, há um ícone de exclusão.
Botão de Excluir Branch
- Clique no ícone de exclusão para remover o branch remotamente.
Branch Excluído
- É possível restaurar o branch clicando no botão “Restaurar”. Esta opção estará disponível até você atualizar ou fechar a página.
Botão de Restaurar
O branch remoto foi removido. Agora, vá para o seu repositório local e exclua o branch local usando o comando que aprendemos no primeiro método.
Agora, use o comando git branch -a
para verificar a lista de branches.
Lista de Branches
Você ainda pode ver o branch remoto excluído na lista. O que aconteceu? Como resolver isso? Vamos considerar uma situação comum no ambiente de trabalho:
Suponha que você trabalha em equipe, e o líder exclui um branch remoto após a conclusão de uma tarefa. Como você ficaria sabendo disso? Existe uma maneira de saber sobre branches excluídos remotamente?
Precisamos sincronizar os repositórios local e remoto para refletir as alterações nos branches excluídos. Para isso, utilizamos os seguintes comandos:
git remote prune nomeRemoto
git fetch -p nomeRemoto
O parâmetro -p
no segundo comando é um atalho para a remoção. A opção “prune” em ambos os comandos exclui referências ao remoto.
Fetch Prune
Agora, execute git branch -a
para verificar a lista de branches.
Lista de Branches
Você notará que o branch remoto não aparece mais na lista, mas o branch local ainda existe. Isso é normal. Você pode mantê-lo ou excluí-lo.
Verifique os branches que ainda estão no seu local mas não existem mais no remoto e exclua-os localmente.
Seus branches agora estão limpos.
Conclusão
Na maioria das vezes, usamos o terminal ou prompt de comando para interagir com o Git, o que é prático e eficiente, mas não obrigatório. No final, trata-se de preferência pessoal.
Independentemente da ferramenta ou método que você usar, o resultado é o mesmo. Escolha aquele que melhor se adapta a você e siga os dois passos para excluir um branch: remova-o localmente e remotamente.
Na sequência, aprenda como excluir um repositório no GitHub.
Bons estudos!
Gostou do artigo? Compartilhe com seus amigos!