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.
Índice
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.
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 branch
comando lista ramificações para nós. Você pode ver as ramificações no repositório local com este comando:
ramo git
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-branch
comando.
git show-branch
Você pode ver as ramificações no repositório remoto incluindo a opção -r (remoto).
git ramo -r
Para ver ramificações locais e remotas com um comando, use a -a
opção (todos).
git ramo -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.
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 branch
comando com a -m
opção (mover).
recurso de checkout git19
git branch -m feature18
Verificamos o branch “feature19” e o renomeamos para “feature18”. Vamos ver como estão nossas filiais agora.
ramo git
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
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
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 -a
opção (all) para ver as ramificações locais e remotas.
git ramo -a
Precisamos excluir “feature19” do repositório remoto e enviar “feature18” para o remoto.
git push origem --delete feature19
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
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
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.