Git: Fazer Checkout de uma Branch Remota
Última atualização
Para trabalhar em uma branch que existe no remoto, mas ainda não na sua máquina, primeiro execute git fetch para que o Git a conheça e depois faça o checkout. O Git moderno facilita isso: git switch <branch> cria automaticamente uma branch local que rastreia a origin/<branch> correspondente.
Experimente isto no terminal playground - um shell real no seu navegador, sem nada para instalar.
Sintaxe
| Command | What it does |
|---|---|
git fetch origin | Baixa as branches do remoto |
git switch feature | Cria uma feature local que rastreia origin/feature |
git checkout --track origin/feature | Forma antiga de rastrear uma branch remota |
git switch -c local origin/feature | Rastreie-a com um nome local diferente |
Exemplo prático
Traga a branch de um colega para a sua máquina.
| Step | Command | Result |
|---|---|---|
| 1 | git fetch origin | O Git conhece origin/feature |
| 2 | git switch feature | A feature local é criada, rastreando a remota |
| 3 | git pull | Mantenha sincronizada daqui em diante |
Perguntas frequentes sobre git checkout de branch remota
Como faço checkout de uma branch remota?
Primeiro execute
git fetch origin para que o Git conheça as branches do remoto e depois git switch <branch>. O Git moderno detecta a origin/<branch> correspondente e cria automaticamente uma branch local que a rastreia. No Git antigo, use git checkout --track origin/<branch>.Por que o git switch diz que a branch não existe?
Geralmente porque você ainda não fez fetch - o Git só pode criar automaticamente uma branch de rastreamento se já conhecer a branch remota. Execute
git fetch origin (ou git fetch --all) primeiro, e então git switch <branch> vai funcionar.Como faço checkout de uma branch remota com um nome diferente?
Use
git switch -c <localname> origin/<branch> (ou git checkout -b <localname> origin/<branch>). Isso cria uma branch local com o nome que você escolher que rastreia a branch remota, útil quando o nome remoto conflita com uma branch local existente.Qual é a diferença entre fetch e checkout aqui?
git fetch apenas baixa as branches remotas e atualiza suas referências de rastreamento remoto - ele não te dá uma branch de trabalho. O checkout (via git switch ou git checkout) é o que cria a branch local em que você realmente trabalha. Você faz fetch uma vez e depois checkout.Posso praticar isto online?
Sim. Abra o terminal playground para executar estes comandos em um shell real no seu navegador - sem nada para instalar. O curso interativo e gratuito de Git da Coddy também aborda o trabalho com remotos passo a passo.