GIT Branch Eliminando uma Branch no Ambiente Local e Remoto

// delete branch locally with force
git branch -D nome-da-branch-que-eu-nao-quero-mais

// delete branch on remote
git push origin --delete nome-da-branch-que-eu-nao-quero-mais

Pessoal, aqui um jeito simples de se livrar de uma branch que você não quer mais, são comandos diferentes para eliminar localmente e no servidor remoto.

Observe que localmente o -D em maiúsculo representa o FORCE. Se a branch em questão já foi sincronizada remotamente o force é requisito obrigatório. Se a branch foi criada somente localmente então você poderia utilizar uma sintaxe opcional mesmo agressiva.

// delete branch locally without force
git branch -d nome-da-branch-que-eu-nao-quero-mais

O segundo comando é para eliminar a branch no servidor remoto. Ambos os comandos podem ser utilizados de forma independente, ou seja, você pode querer eliminar a branch local apenas, ou remota apenas, ou em ambos os locais que é o mais corriqueiro.

Alternativamente tem uma outra sintaxe para eliminar a branch no servidor remoto, mas é um tanto difícil de recordar esta sintaxe, ainda mais em se tratando de um delete. Não recomendo utilizar sem conferir o manual duas vezes.

// delete branch on remote
git push origin :nome-da-branch-que-eu-nao-quero-mais

Observe também que este procedimento é bastante similar ao artigo onde descrevo o processo de renomear uma branch, os comandos a serem utilizados acabam se repetindo, mas a sequência não é a mesma.

God save Git!

GIT Renomear uma Branch Local que já foi enviada para o Servidor Remoto

git checkout nome-da-branch-que-eu-nao-quero-mais
git branch -m nome-novo-que-eu-quero-para-branch

git push origin -u nome-novo-que-eu-quero-para-branch
git push origin --delete nome-da-branch-que-eu-nao-quero-mais

Você já deve ter passado por isso, ter criado uma branch no GIT e feito o Push para o servidor e só depois se deu conta que o nome que escolheu não ficou bom ou não representa o que está implementado por ela.

Pois bem, saiba que para corrigir isto é muito simples, independentemente se a branch já foi enviada ao servidor remoto ou não. Vamos explicar o passo a passo.

Primeiro, posicione-se na branch que deseja renomear usando o comando git checkout. Claro que é possível renomear uma branch mesmo se ela não for a branch corrente na sua working copy, mas isto tornaria os comandos mais complexos e mais difíceis de decorar… deixa pra lá!

Em seguida com o comando git branch -m você simplesmente informa o novo nome que deseja para sua branch.

Voilà! Sua branch foi renomeada, mas isso foi feito somente no seu GIT Local. Caso a sua branch ainda não tenha sido enviada para o servidor com o git push você pode parar por aqui. Mas caso já tenha feito o git push antes de renomear ainda temos mais dois comandos para deixar tudo em ordem.

O próximo passo é enviar a branch renomeada para o servidor usando o git push origin -u que indica que estamos resetando o upstream da branch. Se você não fizer isso a sua branch local continuará sendo enviada para o mesmo ponto no servidor remoto, ou seja, a branch com o nome antigo.

Agora, para finalizar temos que nos livrar da branch antiga que ainda está lá no servidor remoto. Para isso basta eliminarmos completamente ela fazendo um git push origin –delete indicando o nome antigo.

Prontinho, a branch antiga sumiu do servidor remoto e a branch renomeada agora existe no servidor remoto, no ambiente local e está na sua área de working copy.