Excluindo branches no GitHub: Guia completo para iniciantes e experts

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!