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:
- executou imediatamente o comando git checkout master, sem alterações;
- alterou o escopo do fetch na configuração do git e logo após efetuou o checkout;
- executou imediatamente o comando git checkout master, com o argumento unshallow;
- executou o comando fetch com o argumento all e só então executou o comando git checkout master;
- 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