Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
14
respostas

GIT - clonar branch secundária

Boa noite,

Tenho 1 repositório remoto que possue 2 branchs . Quando eu clonei o repositório remoto para o meu local ele trouxe os arquivos da branch master e eu queria clonar os arquivos da branch de desenvolvimento (que é onde estou alterando os arquivos).

Como faço isso?

Obrigado.

14 respostas

Oi Roger, tudo bem ?

Você pode fazer um fetch e pegar a branch que você deseja.

git fetch origin NomeDaBranchRemota:NomeQueQuerDarParaABranchLocal

Boa tarde Matheus,

Quando fiz o comando deu o erro abaixo.

$ git fetch origin sitenlmodule:sitenlmodule fatal: Refusing to fetch into current branch refs/heads/sitenlmodule of non-bare repository

Não sei se isso ajuda mas a estrutura que tenho la é assim (não cosnegui colocar imagem aqui).

usuario/meurepositorio branchs: master sitenlmodule

Faz o seguimte

Dá apenas um git fetch origin

E depois executa essa linha novamente por gentileza

O comando git fetch origin executou sem retornar nada. Quando executei o comando completo ocorre o mesmo erro que mandei anteriormente.

Quando você faz git branch o que aparece ?

Aparece as 2 que eu tenho. master * sitenlmodule (em verde)

Então você já te a branch ai na sua máquina.

Acredito que você queria apenas retornar para ela, é isso ?

faz um git checkout sitenlmodule

Deve funcionar

Na verdade o que eu quero é baixar os fontes da branch sitenlmodule .

Assim, na branch master está a versão oficial que já está liberada. Na branche sitenlmodule está uma versão em desenv. Quando eu dei um clone no repositório ele baixou os fontes da brach master e não os que já foram alterados com a nova versão que está na branch sitenlmodule.

Estou tentando fazer isso, baixar os fontes da branch de desenv e está dando esses erros.

Roger,

Quando a fazemos um clone, ele nos deixa na versão da master, mas trás todas as branchs que temos em nosso repositório.

Agora você precisa apenas mudar a perspectiva que ele está vendo, ou seja fazer a troca de branchs, por isso pedi para você executar o comando git branch para saber quais eram as branchs que você tinha ai, o resultado como você disse foi:

master * 
sitenlmodule

Esse (*) representa qual é a branch que você está em sua máquina.

Você precisa fazer a troca, para isso você deve fazer o comando :

git checkout sitenlmodule

Que fará com que troque a branch.

Boa tarde Matheus, Então quando mandei as branchs que foram listadas o * estava sobre a branch sitenlmodule já, e ela aparecia em verde. Ou seja, ela já estava selecionada.

Fiz o comando novamente conforme vc solicitou mas o erro continua e os fontes no meu diretorio local estão com os da branch master e não da branch sitenlmodule. :(

Entendi.

Faz o seguinte :

Retorna para a brach master :

git checkout master

Imagino que você não tenha alterado nada na secundária, nesse ponto. Então deleta ela da sua máquina :

git branch -D sitenlmodule

Agora a gente tenta refazer aquela abordagem do fetch.

Fiz alguns testes aqui e consegui fazer tudo funcionar, com um projeto privado que tem mais de 20 branchs.

solução!

Tem como você ver o que sua origem tem :

git remote show origin

Esse comando exibe tudo que seu repositorio remoto possui.

Boa tarde Matheus,

Funcionou eliminando a branch e usando o fetch novamente.

Muito obrigado.

Ufa hahaa

Bom trabalho agora !

O que precisar um novo tópico que a gente tenta te ajudar !

Abraços