Pular para o conteúdo principal
InicioTutoriaisGit

Git Checkout Remote Branch: Guia passo a passo

Para fazer o checkout do git em uma ramificação remota, primeiro você precisa obter as alterações mais recentes do repositório remoto e, em seguida, pode fazer o checkout da ramificação remota localmente usando seu nome completo (por exemplo, origin/branch-name).
Actualizado 18 de set. de 2024  · 4 min leer

Quando precisamos trabalhar em uma ramificação em um repositório remoto, como o trabalho de um colega ou uma nova ramificação de recurso, enfrentamos o desafio de acessar e atualizar essa ramificação localmente.

Felizmente, Git simplifica esse processo, oferecendo comandos diretos para que você crie uma cópia local do ramo remoto. Isso nos permite mudar para a ramificação desejada, contribuir e colaborar efetivamente com a equipe.

Para obter uma resposta rápida, para fazer checkout de uma ramificação chamada , executamos:

git fetch origin <branch_name>
git checkout -b <branch_name> origin/<branch_name>

Neste artigo, exploraremos esses comandos e saberemos como eles funcionam com mais detalhes.

O processo em duas etapas: git fetch e git checkout

Para começar a trabalhar em uma ramificação remota localmente, precisamos primeiro nos certificar de que nosso repositório local esteja atualizado com o repositório remoto. Em seguida, podemos criar uma cópia local e começar a trabalhar nessa ramificação.

Atualizando o repositório local

Para atualizar o repositório local, usamos o comandogit fetch . Sua forma mais simples não usa argumentos:

git fetch

Quando usado sem argumentos, o comando git fetch recupera todas as ramificações do repositório remoto padrão. Embora isso inclua a ramificação que desejamos, também ocupará mais espaço em disco local.

Se o espaço em disco for uma preocupação, podemos especificar o ramo que queremos buscar passando-o como parâmetro para o comando:

git fetch origin <branch_name>

Substitua pelo nome da filial desejada. O parâmetro origin especifica o nome do repositório remoto. Por padrão, quando clonamos um repositório, o remoto é chamado de origem.

É importante observar que a atualização das referências remotas com fetch não afetará nenhum dos arquivos locais nem causará conflitos. Localmente, há duas entidades distintas:

  • O diretório de trabalho atual
  • O repositório local

Nossas alterações e confirmações atuais estão localizadas no diretório de trabalho atual. Esses são os arquivos que vemos quando abrimos o diretório do repositório em nosso computador. Eles não são atualizados com o git fetch. Somente o repositório local é atualizado, o que pode ser considerado como uma cópia oculta do repositório remoto em nosso computador local.

Verificação de uma ramificação remota

Com uma cópia atualizada do repositório remoto, agora podemos criar uma cópia local de uma ramificação remota usando o comando git checkout:

git checkout -b <branch_name> origin/<branch_name>

Substitua pelo nome da filial remota desejada. O primeiro parâmetro após -b é o nome que você deseja que a filial local tenha. Convencionalmente, usamos o mesmo nome para ambos, mas podemos usar qualquer outro nome, desde que nenhuma outra filial local tenha esse nome:

git checkout -b <local_branch_name> origin/<branch_name>

Após a execução bem-sucedida desse comando, o Git mudará o diretório de trabalho atual para esse ramo e estaremos prontos para começar a trabalhar nele.

git checkout vs git switch

O comando git checkout existe desde o início do Git. Seu escopo vai além da criação de cópias locais de ramificações ou da mudança de uma ramificação para outra. Por exemplo, ele pode obter arquivos específicos do repositório remoto.

Nas versões recentes do Git, foi criado o comando git switch, cuja única finalidade é criar cópias locais de ramificações remotas e alternar entre ramificações locais.

Recomendo que você use git switch em vez de git checkout porque os recursos estendidos de git checkout podem, às vezes, levar a erros.

Para saber como executar as mesmas ações que aprendemos neste artigo usando git switch, você pode ler este tutorial: Git Switch Branch: Um guia com exemplos práticos.

Conclusão

Criar uma cópia local de uma ramificação remota do Git é muito importante para a colaboração. Usando git fetch e git checkout, podemos atualizar nosso repositório local com alterações remotas e mudar para o ramo desejado.

Embora o clássico git checkout ofereça uma funcionalidade robusta, o novo comando git switch oferece uma alternativa simplificada especificamente para o gerenciamento de filiais, reduzindo o risco de erros.

Perguntas frequentes

Recebo um erro: "por favor, confirme suas alterações ou armazene-as antes de mudar de ramo". Como faço para consertar isso?

O Git nos impede de mudar para outro ramo se o ramo atual tiver alterações não confirmadas. Para resolver esse problema, você precisa armazenar as alterações atuais ou confirmá-las. 

Para confirmá-los, usamos o seguinte comando:

git commit -m "Commit message"

Como alternativa, se quisermos preservar as alterações sem confirmá-las ainda, podemos usar o comando git stash para salvar temporariamente nosso trabalho:

git stash

Posteriormente, podemos reaplicá-las depois de retornar ao ramo original e usar o comando git stash pop.

E se a filial remota tiver o mesmo nome de uma filial local?

Os nomes das ramificações devem ser exclusivos no Git. Se você receber um erro dizendo que a ramificação já existe, isso significa que há uma ramificação local com o mesmo nome. Isso pode significar duas coisas:

  1. Já verificamos essa filial anteriormente. Nesse caso, podemos alternar diretamente para ele sem buscar usando o comando git checkout . Observe que eliminamos o parâmetro -b, que é usado para indicar que queremos criar uma nova ramificação. Como a ramificação já existe, não precisamos recriá-la.
  2. Em algum momento, criamos uma ramificação diferente que, por acaso, tem o mesmo. Podemos resolver isso usando um nome de filial diferente com git checkout -b origin/.

Posso fazer alterações diretamente em uma ramificação remota?

Não, as alterações em uma ramificação do Git são feitas primeiro criando uma cópia local de uma ramificação, conforme aprendemos acima, e depois criando commits que representam as alterações que desejamos.

Como faço para atualizar minha ramificação local com as alterações remotas mais recentes?

Para atualizar nosso ramo local com as alterações mais recentes do ramo remoto correspondente, normalmente usamos o comando git pull:

git pull origin 

Isso executa um git fetch e um git merge para atualizar nosso ramo local. Descobrimos que o git fetch atualizou o repositório local com a versão remota mais recente. O comando git merge mescla essas alterações em nosso ramo local. Para obter mais detalhes, consulte este tutorial de push e pull do Git.

Recebo um erro: "branch remoto não encontrado". Como faço para consertar isso?

Esse erro indica que a ramificação não existe em nossa cópia local do repositório. Portanto, você também pode:

  1. O ramo não existe, o que pode indicar um erro de digitação no nome do ramo ou que se trata de um ramo antigo que já foi excluído.
  2. O repositório local não está atualizado. Como aprendemos acima, podemos atualizá-lo usando git fetch.

Photo of François Aubry
Author
François Aubry
LinkedIn
Ensinar sempre foi minha paixão. Desde meus primeiros dias como estudante, eu buscava ansiosamente oportunidades para dar aulas particulares e ajudar outros alunos. Essa paixão me levou a fazer um doutorado, onde também atuei como assistente de ensino para apoiar meus esforços acadêmicos. Durante esses anos, encontrei imensa satisfação no ambiente tradicional da sala de aula, promovendo conexões e facilitando o aprendizado. Entretanto, com o advento das plataformas de aprendizagem on-line, reconheci o potencial transformador da educação digital. Na verdade, participei ativamente do desenvolvimento de uma dessas plataformas em nossa universidade. Estou profundamente comprometido com a integração dos princípios tradicionais de ensino com metodologias digitais inovadoras. Minha paixão é criar cursos que não sejam apenas envolventes e informativos, mas também acessíveis aos alunos nesta era digital.
Temas

Saiba mais sobre o Git!

Certificação disponível

Course

Introdução ao Git

4 hr
38.6K
Familiarize-se com o Git para controle de versão. Explore como rastrear, comparar, modificar e reverter arquivos, além de colaborar com colegas usando o Git.
See DetailsRight Arrow
Start Course
Ver maisRight Arrow