Você é um novato em uma equipe e foi instruído a fazer checkout de uma branch remota do repositório de código Git? Seja parte de uma grande empresa ou de uma equipe compacta, dominar as branches remotas do Git é fundamental para uma colaboração de código sem emendas. Neste guia, mergulhe no processo de recuperação de código de um repositório Git remoto, 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 SCM Git (gerenciamento de código fonte) no Windows 10, embora seja compatível com qualquer sistema operacional suportado pelo Git.
Outros métodos de instalação potenciais para o Windows incluem Chocolatey e 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 uma Branch Remota
Os repositórios Git cronometram e rastreiam uma sequência de commits relacionados dentro de uma branch. Por padrão, um commit reside na branch ativa atualmente, geralmente denominada 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 os ramos disponíveis usando o comando branch
do Git. O ramo marcado com um asterisco (*
) é o ativo. Os ramos listados abaixo são exclusivamente locais, já que nenhum ramo remoto foi buscado ainda.

git branch
command.Domine o Checkout Remoto do Git
Suponha que você tenha um repositório Git local e a necessidade de colaborar com outros desenvolvedores. É aqui que o comando Git checkout
entra em ação, permitindo que você busque os commits mais recentes de um ramo remoto em um repositório Git remoto.
Uma vez que um ramo remoto é configurado, o Git espelhará o ramo remoto em vez de um ramo 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 com certificados e firewall.
- Vá até o repositório no GitHub.
- Clique no botão Code e selecione HTTPS.
- Clique no ícone Clipboard próximo ao link para copiar a URL para a área de transferência.

2. Tendo copiado o URL HTTPS para a sua área de transferência, abra uma interface de linha de comando usando o seu CLI preferido, como o Windows Command Prompt 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 Git status
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 é chamado de origin
, prefixado ao branch remoto main
. git status

Para a maioria dos softwares Git modernos,
main
é o ramo primário padrão. Você pode encontrar uma aplicação mais antiga que usemaster
como nome de ramo padrão, mas ambos os nomes são funcionalmente iguais. Este tutorial usa ramos nomeadosmain
,RemoteBranch
,SomeBranch
eAnotherBranch
.
O que é um Remoto Git 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ê empurre 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 você está trabalhando tenha quaisquer remotos Git. Para fazer isso, visualize os remotos Git em seu repositório com o comando git remote
conforme 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 o interruptor v
para exibir o URI completo do remoto do Git.

Você pode se perguntar por que os URI’s separados para
fetch
epush
. Alguns fluxos de trabalho do Git permitem que você verifique atualizações em um repositório em um URI diferente de onde você pode enviar alterações, isso é chamado de fluxo de trabalho triangular.
Visualizando os ramos remotos disponíveis
Exiba todos os ramos disponíveis, tanto locais quanto remotos, em seu repositório com o comando branch
. Para mostrar também os ramos remotos, acrescente o interruptor all
, como exemplificado abaixo.
Na imagem abaixo, o repositório remoto origin usado neste tutorial é mostrado como previsto. No entanto, esta imagem omite todos os ramos do remoto chamado Remote2.

Se um ramo em seu remoto não estiver sendo exibido na lista de ramos, você deve atualizar sua lista de ramos remotos disponíveis, conforme coberto na próxima seção.
Atualizando os Ramos Remotos Disponíveis
Às vezes, um repositório remoto pode adicionar ou alterar ramos. Para garantir que você esteja trabalhando com os ramos mais atualizados, é necessário executar o comando git fetch
.
O comando fetch
conecta-se ao repositório remoto, recuperando uma lista de todas as branches disponíveis. Visualize as branches atualmente rastreadas após executar o comando git fetch
para ver que a branch remota agora está visível, conforme demonstrado abaixo.
Abaixo, a branch remotes/origin/RemoteBranch
está agora visível na lista de branches remotas disponíveis após a execução do comando git fetch
.

git fetch
to update the list of available remote branches.O comando fetch
verifica apenas as atualizações do remoto que está atualmente rastreado na branch presente. Para fazer o Git verificar as atualizações de todos os remotos no repositório, independentemente do status de rastreamento, acrescente o parâmetro all
.
Para buscar as branches disponíveis de um remoto específico, inclua o nome do remoto no comando git fetch
, como Remote2
no exemplo abaixo, que recupera a 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 ramo local correspondente, 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 Ramificações Remotas do Git
Com novos ramos criados no repositório Git remoto, você pode precisar realizar uma operação de git checkout de ramo remoto. O checkout de um ramo do repositório remoto é executado através do checkout
comando.
Se as seguintes condições forem satisfeitas, o Git determinará autonomamente o repositório 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 através 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 do branch remoto git, 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 para fazer o checkout.

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

As futuras versões do Git possivelmente preferirão que você use o comando
git switch
para mudar e criar branches. O comando Gitswitch
é apenas para branches, enquanto o comando Git checkout possui muitas habilidades. Irshad S. escreveu um bom artigo introdutório 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 correspondente remoto para rastreamento, você pode impulsionar o ramo para o remoto usando o comando git push
. O método mais direto para estabelecer um novo ramo no seu remoto preferido é empregar 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 do ramo local atual 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 o rastreamento usando o nome deles 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, juntamente com dois pontos, como demonstrado abaixo.

Próximos Passos e Recursos Adicionais do Git
Depois de revisar o essencial do Git, gerenciar remotos e realizar o git checkout remote branch, você agora está equipado com uma riqueza de conhecimento que ajudará a evitar frustrações futuras. Os passos para verificar um branch remoto no Git e as melhores práticas compartilhadas servirão como recursos inestimáveis para o futuro.
Se você desejar 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 lidar com branches, ao contrário do multifacetado Git
checkout
.
Source:
https://adamtheautomator.com/git-checkout-remote-branch/