Como fazer check-out de uma ramificação remota do Git
Publicados: 2023-01-23Se 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.
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
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
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
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
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.
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
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
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
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
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
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
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
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