Como fazer check-out de uma ramificação remota do Git

Publicados: 2023-01-23
Laptop Linux mostrando um prompt bash
fatmawati achmad zaenuri/Shutterstock.com
Para verificar uma ramificação de um repositório remoto, use o comando 'git fetch' e, em seguida, 'git branch -r' para listar as ramificações remotas. Escolha a ramificação que você precisa e use um comando no formato 'git checkout -b new-branch-name origin/remote-branch-name.' Se você usar vários repositórios, altere a parte 'origem' do comando de checkout para o nome do controle remoto do qual deseja fazer o checkout da ramificação.

Se sua equipe de desenvolvimento usa o Git, você eventualmente precisará verificar o trabalho de outra pessoa como uma ramificação de um repositório remoto. Como a maioria das ações de ramificação no Git, alternar para uma ramificação remota é bastante simples.

Índice

Git, branches e remotos
Encontrando suas filiais locais
Check-out de uma filial remota
Lidando com conflitos de nomes
Manipulando vários repositórios remotos
Antes de você finalizar a compra

Git, branches e remotos

A filosofia do Git é ramificar frequentemente. As ramificações permitem que o desenvolvimento ocorra sem alterar a base de código principal. Quando estiver satisfeito com o novo código testado, você mescla sua nova ramificação em outra ramificação. Normalmente, esta é a ramificação principal ou principal, mas você pode mesclar quaisquer duas ramificações.

Por causa dessa flexibilidade e da maneira leve e rápida com que o Git lida com ramificações e mesclagens, a ramificação foi transformada. Em sistemas de controle de versão mais antigos, a ramificação era um grande negócio. A ramificação e a fusão eram lentas e propensas a erros. O Git deu aos desenvolvedores uma ramificação fácil e rápida que é usada para sustentar muitos fluxos de trabalho diferentes.

Se você trabalha ou é voluntário como parte de uma equipe de desenvolvimento usando Git, você terá um repositório Git “central”, remoto do computador de cada engenheiro de software. Isso é conhecido como repositório remoto ou apenas “remoto”. É para onde os commits e alterações em seu repositório local são enviados quando você executa um push.

Claro, isso é o que os outros desenvolvedores também estão fazendo. Isso facilita a colaboração. Se você precisar acessar o trabalho de outro desenvolvedor, basta recuperar o código de uma ramificação no repositório remoto. Se eles precisarem acessar seu trabalho, eles recuperarão seu código de uma ramificação no repositório que rastreia uma de suas ramificações locais.

No Git, um projeto de desenvolvimento pode ter vários controles remotos. No entanto, uma ramificação local só pode rastrear uma única ramificação remota. Portanto, desde que você esteja trabalhando com o controle remoto apropriado, verificar uma ramificação remota com vários controles remotos é o mesmo que usar um único controle remoto.

Encontrando suas filiais locais

Você precisa evitar conflitos de nomes. Se você tiver uma ramificação local que tenha o mesmo nome da ramificação remota da qual fará o check-out, você terá duas opções. Você pode renomear sua filial local e verificar a filial remota. Dessa forma, sua ramificação local que rastreia a ramificação remota tem o mesmo nome da ramificação remota. Ou você pode verificar o branch remoto e dizer ao Git para criar um branch de rastreamento local com um novo nome.

Para descobrir os nomes das ramificações em seu repositório local, use o comando git branch .

 ramo git 

Listando ramificações locais com o comando git branch

Este repositório local possui uma ramificação master e três outras ramificações. O asterisco indica qual é o ramo atual. Mover-se de uma filial para outra requer verificar a filial com a qual você deseja trabalhar.

 git checkout novo recurso
 git status 

Verificando uma ramificação local com o comando git checkout

O primeiro comando altera o branch para nós, de modo que “new-feature” seja o branch atual. O comando git status verifica isso para nós.

Podemos ir e voltar entre as ramificações, confirmando novas alterações, obtendo atualizações do controle remoto e enviando atualizações locais para o controle remoto.

RELACIONADO: Como atualizar e manter ramificações separadas do Git

Check-out de uma filial remota

Há uma ramificação no repositório remoto que não está presente em nossa máquina. Uma desenvolvedora chamada Mary criou um novo recurso. Queremos mudar para essa ramificação remota para que possamos criar essa versão do software localmente.

Se executarmos um fetch , o Git recuperará os metadados do repositório remoto.

 git busca 

Usando o comando git fetch para recuperar os metadados sobre um repositório remoto

Como esta é a primeira fetch que fizemos desde que Mary empurrou sua ramificação para o repositório remoto, fomos informados de que há uma nova ramificação chamada "origin/mary-feature". O nome padrão para o primeiro repositório remoto adicionado a um projeto é “origem”.

Quer vejamos esta mensagem ou não, sempre podemos pedir ao Git para listar as ramificações no repositório remoto.

A opção -r (remoto) diz ao Git para relatar as ramificações que estão no repositório remoto.

 git ramo -r 

Usando o comando git branch -r para listar branches remotos

O ponto a ser observado aqui é que o Git está verificando sua cópia local dos metadados remotos. É por isso que usamos o comando git fetch para garantir que a cópia local dos metadados esteja atualizada.

Como escolher o modelo de fluxo de trabalho e ramificação do Git certo para sua equipe
RELACIONADO Como escolher o modelo de fluxo de trabalho e ramificação do Git certo para sua equipe

Assim que localizarmos o galho que queremos, podemos ir em frente e dar uma olhada. Usamos o comando git checkout com a opção -b (branch), seguido do nome que usaremos para o branch local, seguido do nome do branch remoto.

 git checkout -b mary-feature origem/mary-feature 

Verificando uma ramificação remota com o comando git checkout -b

Podemos ver que verificamos a ramificação remota e criamos uma ramificação local que rastreará as alterações na ramificação remota.

 ramo git 

Listando ramificações locais com o comando git branch, com a cópia recém-criada da ramificação remota selecionada como a ramificação atual

Nossa nova filial local é agora nossa filial de trabalho atual.

Lidando com conflitos de nomes

Se você tiver uma ramificação local com o mesmo nome da ramificação remota, poderá renomear sua ramificação local antes de efetuar o check-out da ramificação remota ou efetuar o check-out da ramificação remota e especificar um nome de ramificação local diferente.

Para verificar a ramificação remota em uma ramificação local com nome diferente, podemos usar o mesmo comando usado anteriormente e escolher um novo nome de ramificação local.

 git checkout -b mary-test origin/mary-feature 

Fazendo check-out de uma ramificação remota com o comando git checkout -b com a ramificação local com um nome diferente da ramificação remota

Isso cria uma ramificação local chamada “mary-test” que rastreará os commits locais para essa ramificação. Os pushes irão para a ramificação remota “origin/mary-feature”.

Esta é provavelmente a melhor maneira de lidar com conflitos de nomes locais. Se você realmente deseja manter o mesmo nome da ramificação local e remota, precisará renomear sua ramificação local antes de verificar a remota. Renomear um branch é trivial no Git.

 git branch -m mary-feature old-mary-branch 

Renomeando uma ramificação com o comando git branch -m

Agora você está livre para verificar a ramificação remota “origin/mary-feature”.

Manipulando vários repositórios remotos

Se você tiver vários repositórios remotos configurados, precisará cuidar para trabalhar com o repositório apropriado ao verificar a ramificação remota.

Para listar seus repositórios remotos, use o comando remote com a opção -v (visualizar).

 git remoto -v 

Listando repositórios remotos com o comando git remote -v

Para ver todas as ramificações disponíveis, precisamos buscar os metadados de todos os nossos remotos e listar as ramificações remotas.

 git buscar --all
 git branch --all 

Usando git fetch --all para atualizar os metadados locais e usando git branch --all para listar todas as ramificações, locais e remotas

Podemos ver que a ramificação que queremos está no remoto “origem”. O comando para verificar está no mesmo formato que já usamos. Precisamos especificar o nome remoto, “origem”, bem como o nome da ramificação, “mary-feature”.

 git checkout -b mary-feature origem/mary-feature 

Fazendo check-out de uma ramificação remota com o comando git checkout -b, usando o nome remoto e o nome da ramificação

RELACIONADO: Como alternar, adicionar e remover Git Remotes

Antes de você finalizar a compra

Antes de fazer o check-out, tenha algumas coisas em mente e você ficará bem.

Certifique-se de evitar conflitos de nomes. Se você tiver uma ramificação local com o mesmo nome da ramificação remota, decida se renomeará a ramificação local ou criará uma ramificação com um nome diferente para rastrear a ramificação remota.

Se você usar vários repositórios remotos, certifique-se de usar o controle remoto correto.

RELACIONADOS: Git rebase: tudo o que você precisa saber