Como renomear uma ramificação no Git

Logotipo do Git em um fundo azul

Ramificar é um exercício trivial no Git. Infelizmente, tarefas triviais raramente recebem a devida atenção e erros acontecem. Se você nomeou incorretamente um branch, ele terá que ser renomeado. Veja como fazer isso.

Por que os nomes das filiais são importantes no Git

Qualquer coisa relacionada a ramificações em sistemas clássicos de controle de versão (VCSs) era um grande negócio. Era necessário um entendimento coordenado de que uma ramificação estava sendo adicionada ou mesclada , e todas as pessoas que usavam esse repositório tinham que se certificar de que não fizeram nada — ou esqueceram de fazer alguma coisa — para que a operação prosseguisse. e ter sucesso.

As operações envolvendo filiais também eram muitas vezes muito lentas. Houve uma penalidade de tempo no topo usando galhos. O Git foi projetado desde o início para ser diferente. Por ser um sistema de controle de versão distribuído, cada usuário possui uma cópia do repositório completo em sua máquina local.

A ramificação em sua máquina local não afeta mais ninguém, a menos que você envie a ramificação para um repositório remoto. E no Git, as operações de branch são projetadas para serem tão fáceis de usar quanto rápidas de serem concluídas. Ramificar no Git é muito barato em termos computacionais. É uma ação trivial dentro do repositório local.

Na verdade, os desenvolvedores são incentivados a ramificar, e a ramificar com frequência. As filiais são apenas mais uma ferramenta dentro do seu VCS da qual você se beneficia. Branches não são coisas assustadoras no Git, eles são um de seus recursos mais usados.

Recomendado:  O que há de novo na atualização de outubro de 2020 do Windows 10 (20H2)

Mas a familiaridade pode levar ao desprezo. Ou, pelo menos, a uma consideração casual pelas filiais. A ramificação pode ser rápida e simples no Git, mas você ainda precisa estar focado ao criar uma ramificação. É fácil digitar incorretamente o nome de uma ramificação ou digitar o nome errado, resultando em uma ramificação com nome incorreto.

Se o branch for enviado para o repositório remoto em algum momento, ele precisará ser escrito corretamente. Caso contrário, causará confusão quando outras pessoas tentarem usá-lo.

Listar ramificações no Git antes de renomeá-las

Verificar quais são os nomes das filiais atuais é um bom primeiro passo. O git branchcomando lista ramificações para nós. Você pode ver as ramificações no repositório local com este comando:

ramo git

Listando filiais locais usando o comando git branch

As filiais estão listadas para nós. A filial atual está destacada em verde e com um asterisco.

Para ver as ramificações e seus commits , você pode usar o show-branchcomando.

git show-branch

Listando ramificações e seus commits com o comando git show-branch

Você pode ver as ramificações no repositório remoto incluindo a opção -r (remoto).

git ramo -r

Listando ramificações remotas com o comando git branch -r

Para ver ramificações locais e remotas com um comando, use a -aopção (todos).

git ramo -a

Listando filiais locais e remotas com o comando git branch -a

Temos mais filiais locais do que filiais remotas. A ramificação “feature16” ainda não foi enviada para o repositório remoto. Isso é apenas um aspecto da operação normal, não um problema.

Nosso problema é que o ramo “feature19” deveria ter sido denominado “feature18”. Então esse é o erro que vamos corrigir.

Como renomear uma filial local no Git

Existem duas maneiras de renomear uma filial localmente. Você pode fazer check-out do branch e renomeá-lo ou pode renomear o branch enquanto trabalha em algum outro branch.

Recomendado:  Como aplicar um patch a um arquivo (e criar patches) no Linux

Para renomear o branch atual, certifique-se de ter feito check-out e de estar usando o branch que deseja renomear. Em seguida, use o git branchcomando com a -mopção (mover).

recurso de checkout git19

git branch -m feature18

Verificando filial

Verificamos o branch “feature19” e o renomeamos para “feature18”. Vamos ver como estão nossas filiais agora.

ramo git

Listando filiais para verificar essa filial

Nosso branch agora tem o nome correto no repositório local.

Se desejar, você pode renomear um branch quando estiver trabalhando em outro branch. Aqui está um exemplo onde estamos trabalhando no branch “master”.

ramo git

Listando filiais para verificar se estamos na filial mestre

O comando que usamos é o mesmo de antes, mas precisamos fornecer o nome atual do branch que estamos renomeando, bem como o novo nome que queremos que ele tenha.

git branch -m feature19 feature18

ramo git

Renomeando um branch de dentro de outro branch

Novamente, o branch em nosso repositório local foi renomeado com o nome correto.

Como renomear uma ramificação remota no Git

O repositório remoto ainda contém o branch com o nome antigo. Para renomear um branch remoto, excluímos o branch antigo e enviamos o novo branch.

Se outros usuários usarem esse branch e fizerem commits nele, você deverá fazer um pull antes de renomeá-lo localmente. Isso garante que seu repositório local esteja atualizado e que as alterações feitas por outros usuários não serão perdidas. Extrair as alterações de volta para o seu repositório antes de renomear o branch localmente significa que essas alterações estarão no novo branch quando você o enviar de volta para o repositório remoto.

Vamos dar uma olhada no estado de nossas filiais. Usaremos a -aopção (all) para ver as ramificações locais e remotas.

git ramo -a

Listando filiais locais e remotas com o comando git branch -a

Precisamos excluir “feature19” do repositório remoto e enviar “feature18” para o remoto.

Recomendado:  Como impedir que o Windows se conecte automaticamente a uma rede Wi-Fi

git push origem --delete feature19

Excluindo uma ramificação remota usando a opção git --delete

Será solicitada a senha do repositório remoto. Assim que a exclusão ocorrer, você verá uma mensagem de confirmação.

Agora vamos enviar nosso novo branch para o remoto e usar a opção -u (set upstream)

git push origem -u feature18

Enviando um branch para o repositório remoto

Novamente, será solicitada a senha do controle remoto. A nova ramificação é enviada para o controle remoto e somos informados de que a ramificação “feature18” está configurada para rastrear alterações em nossa cópia local da ramificação.

Vamos verificar mais uma vez em que estado estão nossas filiais locais e remotas.

git ramo -a

Listando filiais locais e remotas com o comando git branch -a

Nossa filial foi renomeada com sucesso tanto local quanto remotamente, e a filial remota está rastreando as mudanças em nossa filial local.

Renomear filiais é simples

Com o Git, renomear ramificações é simples. Se você é a única pessoa que usa um repositório ou branch que precisa ser renomeado, é muito simples.

Se outras pessoas compartilharem o branch, certifique-se de comunicar a eles que você irá renomear o branch e que eles deverão enviar qualquer trabalho não confirmado. Depois de fazer push, você pode extrair o branch e renomeá-lo local e remotamente.