Se você desenvolver qualquer tipo de software ou aplicativo web, usar Git é um elemento essencial do seu fluxo de trabalho.

O sistema de controle de versão distribuído é praticamente a única maneira de coordenar seus esforços de codificação entre sua equipe. Nesse sentido, o Git tem um conjunto simples de comandos que você pode aprender rapidamente, mas nem sempre pode ser intuitivo.

Isso é bem claro quando você precisa realizar um git rename em uma branch no Git.

O trabalho em equipe requer comunicação, e os nomes dos seus branches que são públicos — devem oferecer bastante descrição e clareza. Isso pode entrar em conflito com a necessidade comum de trabalhar rapidamente. Assim, a convenção de nomeação rápida que você dá a um branch para começar o código pode precisar ser ajustada para se adequar melhor ao seu projeto.

Neste artigo, vamos mostrar como fazer um git rename em uma branch. Mas antes, vamos explicar o que é uma branch no Git e quando você pode querer renomear um.

O que é uma branch no Git (e por que renomear uma)?

O Git trabalha com branches. Você tem um repositório principal que guarda todos os branches do projeto, inclusive o principal.

Uma das vantagens do Git é que você pode copiar a branch principal, fazer suas modificações no código e depois juntar essas mudanças de volta, após finalizar o trabalho.

Até a Kinsta oferece a possibilidade de usar o Git para acessar seu site via Secure Shell (SSH). Você também pode conectar seu repositório do GitHub e lançar seu aplicativo com apenas alguns cliques no painel MyKinsta.

Autorizando a Kinsta no GitHub.
Autorizando a Kinsta no GitHub.

No entanto, nomear a branch é um passo que muitos desenvolvedores fazem às pressas. Existem diversas razões pelas quais você pode querer mudar o nome de uma branch no Git:

  • Clareza: É importante que o nome da branch deixe claro quais mudanças no código ela engloba e o que essas mudanças fazem. Isso será crucial durante fusões ou até mesmo ao deletar branches. Não tem volta após deletar a branch errada ou esquecer o nome dela.
  • Consistência: Talvez a sua branch não siga as convenções de nomenclatura estabelecidas pela sua equipe. Isso significa que você terá que revisar os nomes das branches em uma data posterior.
  • Padrões Modernos: Se o projeto for antigo ou um assunto de longo prazo na sua equipe, as branches podem não seguir convenções de sensibilidade cultural atuais. Como exemplo, há um movimento popular para mudar o nome da branch principal de “master” para “main” ou “trunk” para evitar referências à instituição da escravidão.

Por essas e outras razões, você frequentemente terá que fazer um git rename em uma branch.

A seguir, vamos explicar como fazer isso.

Como renomear uma branch no Git

Quando se trata de fazer um git rename em uma branch, você terá que considerar tanto os repositórios locais quanto os remotos (como o GitHub, por exemplo). A boa notícia é que o processo que estamos prestes a detalhar abordará todas as variações necessárias para você ter sucesso.

Primeiro, vamos abordar como localizar e mudar o nome de uma branch. Isso incluirá analisar as flags de comando que irão te ajudar. Em seguida, vamos ver como garantir que o seu repositório remoto esteja sincronizado com o local.

1. Use os comandos git checkout e git branch

Sua primeira tarefa é localizar a branch que você deseja renomear. Você pode usar o seguinte comando:

git checkout current-name

Onde usamos current-name, você deve colocar o nome da sua branch. Se você não sabe o nome, ou quer ver a lista completa de branches (talvez para verificar as convenções em todo o projeto), você pode usar git branch --list ou git branch -a.

Navegando e listando as branches dentro de um repositório Git.
Navegando e listando as branches dentro de um repositório Git.

Uma vez que você estiver na branch correta, você pode renomeá-la usando o seguinte comando:

git branch -m new-name

Novamente, você vai querer usar um nome específico para a branch aqui, em vez do nosso espaço reservado. A flag m significa “mover” e é o elemento do comando que faz a renomeação acontecer.

Renomeando uma branch dentro de um repositório Git.
Renomeando uma branch dentro de um repositório Git.

Se o novo nome da branch que você escolher já existir, você pode forçar a mudança que especificou usando -M em vez disso. Essa também é a tática que você usará em máquinas Windows se o nome da sua branch contiver uma mistura de letras maiúsculas e minúsculas.

Após confirmar essa mudança, use git status para verificar se o novo nome foi aplicado à sua branch:

Verificando se a renomeação no Git ocorreu usando git status.
Verificando se a renomeação no Git ocorreu usando git status.

Entretanto, você não precisa usar git checkout se você não quiser. Vamos rapidamente analisar isso com mais detalhes.

1(a). Renomeando uma branch da Git sem usar git checkout

Esse método só funcionará se você estiver na branch principal do seu repositório. Se não estiver, você sempre precisará usar git checkout para ir para sua branch principal.

De qualquer forma, você pode ver sua localização atual no repositório usando git status. O comando para mudar o nome da branch é semelhante ao último método, mas desta vez você combinará os nomes atual e novo da branch:

git branch -m current-name new-name

Após executar o comando, você pode conferir a lista de branches para confirmação.

2. Enviando o branch renomeado para o repositório remoto

Embora este método funcione para um repositório local, há mais a fazer quando se trata de repositórios remotos. Na maioria das vezes, você terá que lidar com repositórios remotos em seu projeto, e este é um passo que você não deve esquecer.

Se você pular essa parte do processo, a nova branch ainda fará referência ao antigo nome do “branch upstream”. O truque é remover a branch antiga do repositório remoto e, em seguida, enviar a nova branch para o upstream.

O primeiro passo é renomear o branch local, mas a partir daí você pode executar alguns comandos em sequência.

Primeiro, exclua a branch antigo:

git push origin --delete old-branch

…em seguida, envie o novo:

git push origin -u new-branch

Como alternativa, você pode sobrescrever o nome da branch upstream usando o seguinte:

git push origin: old-branch new-branch
git push origin -u new-branch

Novamente, execute git status para ver se a nova branch aponta para sua própria referência, em vez da mais antiga. Se a referência estiver apontando para a branch antiga, você pode usar git branch --unset-upstream para corrigi-lo.

Resumo

O Git é um método intuitivo e poderoso para aplicar controle de versão distribuído ao código do seu projeto.

Um de seus benefícios mais flexíveis é a capacidade de usá-la tanto para repositórios locais quanto para repositórios remotos. Entretanto, algumas tarefas simples (como renomear branches) requerem mais atenção do que outras.

Neste artigo, discutimos como utilizar git rename no Git para repositórios locais e remotos. Embora o comando em si seja simples, você terá que aplicar alguns comandos diferentes para garantir que os repositórios locais e remotos estejam alinhados. Caso contrário, qualquer fusão que você realizar poderá conter erros ou referências incorretas a repositórios antigos, ou inexistentes.

Se você precisa de uma opção de hospedagem segura e fácil de usar para o seu aplicativo ou banco de dados baseados em Git, não procure mais: as soluções de Hospedagem de Aplicativos e Bancos de Dados da Kinsta foram construídas pensando em todos os tipos e tamanhos de projetos, incluindo aplicativos full-stack, e podem ser implantados via GitHub em poucos minutos.

Seu projeto atingirá novos níveis de velocidade com máquinas C2 na Rede de nível premium do Google, e nossa integração com o Cloudflare irá protegê-lo de praticamente qualquer preocupação de segurança concebível. Além disso, você pode ter quantas builds e usuários simultâneos desejar.

Confira os planos de Hospedagem de Aplicativos da Kinsta para encontrar um que se adeque a você e ao seu projeto, ou experimente gratuitamente. Se você tiver alguma dúvida, a equipe de desenvolvedores veteranos da Kinsta estará lá para ajudá-lo 24/7.