Você é um recém-chegado a uma equipe e recebeu instruções para verificar um branch remoto no repositório de código do Git? Seja parte de uma grande empresa ou de uma equipe compacta, dominar os branches remotos do Git é fundamental para uma colaboração de código perfeita. Neste guia, aprofunde-se no processo de recuperar código de um repositório remoto do Git, focando no comando ‘git checkout remote branch’.
Not a reader? Explore this related video tutorial!
Not seeing the video? Ensure your ad blocker is disabled.
Pré-requisitos
- Este tutorial utiliza a versão 2.30 do Git SCM (gerenciamento de código-fonte) no Windows 10, embora seja compatível com qualquer sistema operacional suportado pelo Git.
Outros métodos potenciais de instalação para o Windows incluem o Chocolatey e o Git4Win.
- A remote Git repository from platforms like GitLab, GitHub, or Azure DevOps is required. This article provides sample repositories for a hands-on experience, or you can utilize your own.
Entendendo um Branch Remoto
Repositórios do Git registram e acompanham uma sequência de commits relacionados dentro de um branch. Por padrão, um commit reside no branch atualmente ativo, geralmente denominado ‘main’ ou ‘master’.
A remote branch is a branch located in a remote Git repository. These remote repositories, termed as “remotes,” are the destinations your local Git repository will scout for external commit updates once set up.
Descubra as filiais disponíveis usando o comando branch
do Git. A filial marcada com um asterisco (*
) é a ativa. As filiais listadas abaixo são exclusivamente locais, pois ainda não foram buscadas filiais remotas.

git branch
command.Dominando o Checkout Remoto do Git
Suponha que você tenha um repositório Git local e surja a necessidade de colaborar com outros desenvolvedores. É aqui que o comando Git checkout
entra em jogo, permitindo que você obtenha os últimos commits de uma filial remota em um repositório Git remoto.
Uma vez configurada uma filial remota, o Git espelhará a filial remota em vez de uma filial apenas local. Abaixo está um exemplo do comando git checkout remote <branch>
.
Clone o Repositório Git Remoto
Agora que um repositório existente está à sua disposição, é hora de mergulhar. Siga as etapas abaixo para clonar o repositório remoto para uma pasta local em sua máquina.
1. É geralmente mais simples clonar um repositório remoto via URL HTTPS em vez de SSH para evitar problemas de certificado e firewall.
- Vá para o repositório no GitHub.
- Clique no botão Code e selecione HTTPS.
- Clique no ícone Clipboard ao lado do link para copiar a URL para a sua área de transferência.

2. Tendo copiado o URL HTTPS para a área de transferência, abra uma interface de linha de comando usando sua CLI preferida, como o Prompt de Comando do Windows ou o Windows Terminal.
3. Navegue até a pasta onde deseja que o repositório clonado resida. Para este tutorial, a pasta git no diretório principal é utilizada, conforme mostrado nas capturas de tela. Execute o seguinte comando para clonar o repositório, que cria uma subpasta contendo o repositório remoto.

4. Acesse o repositório clonado com o comando cd git-checkout-remote-branch
.
Execute o seguinte comando de status para verificar se o repositório foi clonado com sucesso. O comando status
do Git revela as diferenças entre o branch local e o branch remoto, auxiliando na determinação se seu branch está conectado e atualizado! O controle remoto Git padrão é denominado origin
, prefixado ao branch remoto main
. git status

Para a maioria dos softwares Git modernos,
main
é o ramo principal padrão. Você pode encontrar uma aplicação mais antiga que usamaster
como nome padrão do ramo, mas ambos os nomes são funcionalmente iguais. Este tutorial utiliza ramos nomeadosmain
,RemoteBranch
,SomeBranch
eAnotherBranch
.
O que é um Git Remoto e Como Rastrear Ramos Remotos
Clonar um repositório cria automaticamente uma referência a uma fonte remota, conhecida como remoto. Essa referência é usada para verificar novos commits ou enviar novas alterações para o repositório remoto.
A Git repository itself may have multiple remotes, but a branch can only reference a single remote.
Rastrear um ramo remoto estabelece um relacionamento com um ramo local. Esse relacionamento permite que você envie ou puxe commits do ramo remoto para o ramo local sem esforço. Além disso, um ramo rastreado determina o quão à frente ou atrás em commits o ramo local está em relação ao remoto.
Listando os Remotos de um Repositório Git
Primeiramente, certifique-se de que o repositório com o qual está trabalhando possui algum remoto do Git. Para fazer isso, visualize os remotos do Git em seu repositório com o comando git remote
como mostrado abaixo. Neste exemplo, dois remotos são exibidos, origin
e remote2
.

Dois repositórios remotos rastreados adicionais são nomeados
origin
eremote2
, onde seus remotos podem ser diferentes.
Para obter mais detalhes sobre os remotos configurados, adicione a opção v
para exibir o URI completo do remoto Git.

Você pode estar se perguntando por que os URI’s separados para
fetch
epush
. Alguns fluxos de trabalho do Git permitem que você verifique as atualizações de um repositório em um URI diferente de onde você pode enviar alterações, isso é chamado de fluxo de trabalho triangular.
Visualização de Branches Remotos Disponíveis
Exiba todas as branches disponíveis, tanto locais quanto remotas, em seu repositório com o comando branch
. Para mostrar também as branches remotas, adicione o parâmetro all
, como exemplificado abaixo.
Na imagem abaixo, o repositório remoto origin usado neste tutorial é mostrado como esperado. No entanto, esta imagem omite todas as branches do remoto chamado Remote2.

Se uma branch em seu remoto não estiver sendo exibida na lista de branches, você precisa atualizar sua lista de branches remotas disponíveis, como explicado na próxima seção.
Atualizando as Branches Remotas Disponíveis
Às vezes, um repositório remoto pode adicionar ou alterar branches. Para garantir que você esteja trabalhando com as branches mais atualizadas, é necessário executar o comando git fetch
.
O comando fetch
conecta-se ao repositório remoto, recuperando uma lista de todos os branches disponíveis. Visualize seus branches atualmente rastreados após executar o comando git fetch
para ver que o branch remoto agora está visível, como demonstrado abaixo.
Abaixo, o branch remotes/origin/RemoteBranch
agora está visível na lista de branches remotos disponíveis após executar o comando git fetch
.

git fetch
to update the list of available remote branches.O comando fetch
apenas verifica atualizações do remoto que está atualmente rastreado no branch presente. Para fazer o Git verificar atualizações de todos os remotos no repositório, independentemente do status de rastreamento, adicione o parâmetro all
.
Para buscar os branches disponíveis de um remoto específico, inclua o nome do remoto no comando git fetch
, como Remote2
no exemplo abaixo, que recupera o branch main
.

main
from remote2
with the git fetch
command.Ao verificar atualizações remotas com
git fetch
,git pull
ougit push
, o Git compara commits com o ramo remoto. Os ramos locais podem rastrear qualquer ramo remoto do Git. Além disso, vários ramos locais podem ser configurados para rastrear o mesmo ramo remoto.
Visualizando o Rastreamento Remoto de Cada Ramo
Para ver o ramo remoto rastreado ao lado do respectivo ramo local, utilize o parâmetro vv
com o comando git branch
. Os resultados do comando exibem uma lista de remotos e ramos no formato [<remoto>/<branco>]
conforme ilustrado abaixo.

Alterando o Rastreamento Remoto de um Ramo
Pode haver a necessidade de alterar seu ramo local para rastrear um ramo remoto diferente. Para definir seu ramo atual para um ramo remoto específico, utilize o parâmetro u
, conforme ilustrado abaixo.

Verificando Ramos Remotos do Git
Com novos ramos criados no repositório Git remoto, você pode precisar realizar uma operação de git checkout remote branch. O checkout de um ramo de repositório remoto é executado através do comando checkout
.
Se as seguintes condições forem satisfeitas, o Git determinará autonomamente o controle remoto correto, fará o download de uma cópia local do branch remoto e definirá a cópia local para rastrear o branch remoto. Verifique se as seguintes condições não são atendidas por meio dos resultados do comando git branch --all
.
- A local branch with the same name does not already exist.
- Não existem múltiplos remotos que usem o mesmo nome de branch remoto.
Para realizar a operação de checkout de um branch remoto, use o comando git checkout
e digite o nome do branch remoto conforme visto abaixo.

git checkout
.Se o seu repositório local já contiver um branch local com o mesmo nome, adicione o parâmetro b
para especificar um nome de branch local alternativo antes do branch remoto a ser verificado.

Se o seu repositório local tiver vários remotos com o mesmo nome de branch, especifique qual remoto e branch rastrear os commits locais.

Versões futuras do Git possivelmente preferirão que você use o comando
git switch
para mudar e criar branches. O comandoswitch
do Git é apenas para branches, enquanto o comando de checkout do Git tem muitas habilidades. Irshad S. escreveu um bom guia sobre a razão se você quiser ler mais sobre isso.
Empurrando um Branch Local para um Remoto
Ao criar um ramo local sem um ramo remoto correspondente para rastreamento, você pode enviar o ramo para o remoto usando o comando git push
. O método mais direto para estabelecer um novo ramo no seu remoto preferido é usando o parâmetro u
.
O parâmetro u
, como utilizado anteriormente, exige os argumentos do nome do repositório e do ramo de origem. Ao especificar apenas HEAD
como o nome do ramo de origem, o Git entende para usar o nome atual do ramo local como o nome no remoto, neste caso, NewBranch
.

HEAD
é um atalho que significa simplesmente o ramo atual. Você pode enviar outros ramos para o remoto e estabelecer rastreamento usando seus nomes em vez deHEAD
.
Às vezes, o nome do ramo local atual não corresponde ao nome do ramo remoto. Para usar um nome diferente, especifique o nome desejado do ramo após a origem, separado por dois pontos, como demonstrado abaixo.

Próximos Passos e Recursos Adicionais do Git
Após revisar os fundamentos do Git, gerenciar remotos e executar git checkout remote branch, você agora está equipado com uma riqueza de conhecimento que ajudará a evitar frustrações futuras. Os passos para fazer checkout de um branch remoto no Git e as melhores práticas compartilhadas servirão como recursos inestimáveis daqui para frente.
Se você deseja se aprofundar em outros aspectos do gerenciamento de um repositório Git, os seguintes recursos são altamente recomendados:
- A primer on detached heads: Discover scenarios where a detached HEAD is beneficial or inadvertent, and how to handle it.
- Git switch: Um comando dedicado ao tratamento de branches, ao contrário do multifacetado
checkout
do Git.
Source:
https://adamtheautomator.com/git-checkout-remote-branch/