FC ConcursosFC Concursos

Questão FC370161

Para realizar o clone de um único branch de um repositório git, a analista Ana utilizou o comando ‘git clone --depth 1 --branch q07 https://trf1.br/ana/repo07.git’. Após concluir o

Automação e Gestão de Projetos de Software

FGV · 2024

Para realizar o clone de um único branch de um repositório git, a analista Ana utilizou o comando ‘git clone --depth 1 --branch q07 https://trf1.br/ana/repo07.git’. Após concluir o trabalho necessário no branch q07, Ana precisou recuperar o histórico completo de commits e realizar o checkout para o branch master, sem efetuar um novo clone.

 

Para realizar as operações necessárias, a analista:

  1. executou imediatamente o comando git checkout master, sem alterações;
  2. alterou o escopo do fetch na configuração do git e logo após efetuou o checkout;
  3. executou imediatamente o comando git checkout master, com o argumento unshallow;
  4. executou o comando fetch com o argumento all e só então executou o comando git checkout master;
  5. efetuou o unshallow do clone e alterou o escopo do fetch na configuração do git, para só então efetuar novo fetch e checkout.
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

Ao clonar com --depth 1 e --branch q07 o repositório ficou raso (só o último commit da branch q07). Para recuperar o histórico completo é preciso converter esse clone raso em completo com git fetch --unshallow (ou git fetch --depth=0), que baixa os commits faltantes.

Além disso, como o clone pode ter sido configurado para trazer somente a branch q07, é necessário alterar o escopo de fetch na configuração remota para permitir outras branches. Ex.: git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" ou git remote set-branches --add origin master.

Feitas essas mudanças, execute git fetch para sincronizar e então git checkout master para mudar para a branch master com todo o histórico disponível.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo