Questão de Noções de Informática — Software — INSTITUTO AOCP 2024
- Código
- qg262662
- Banca
- INSTITUTO AOCP
- Órgão
- SANEPAR
- Ano
- 2024
- Nível
- Médio
- Cargo
- Técnico Profissional - Técnico em Informática
- Agit pull
- Bgit fetch
- Cgit diff
- Dgit push
- Egit checkout
GabaritoB — git fetch
Gabarito: letra B. O comando que baixa as atualizações do repositório remoto para o local, sem mesclá-las automaticamente, é o git fetch — ele atualiza o banco de dados local com todos os commits, arquivos e referências do remoto, mas não altera o seu working directory. A pegadinha da questão está na distinção entre git fetch (apenas baixa) e git pull (baixa e mescla), que é exatamente o que o enunciado explora ao pedir "baixar todas essas atualizações" sem mencionar a mesclagem.
O Git é um sistema de controle de versão distribuído, e a sincronização entre o repositório local e o remoto (como o GitHub) é feita por comandos específicos. Quando você trabalha em equipe, outros membros enviam commits para o repositório remoto, e você precisa trazer essas mudanças para o seu ambiente local. Existem dois comandos principais para isso: git fetch e git pull. A diferença fundamental é que o git fetch apenas baixa os dados do remoto para o seu repositório local, atualizando as referências (como branches e tags), mas não mescla essas mudanças na sua branch de trabalho atual. Já o git pull faz duas coisas: primeiro busca (fetch) as mudanças e depois as mescla (merge) automaticamente na sua branch atual. Em outras palavras, git pull = git fetch + git merge.
No cenário descrito, o técnico precisa "baixar todas essas atualizações do repositório remoto para o seu repositório local", garantindo que o repositório local esteja atualizado com todos os commits, arquivos e referências mais recentes. O comando que atende exatamente a essa descrição é o git fetch, pois ele atualiza o repositório local com os dados do remoto sem realizar a mesclagem automática. Se a intenção fosse baixar e já integrar as mudanças à branch atual, o comando seria git pull. A banca, portanto, cobra o conhecimento da função específica de cada comando, e a alternativa B é a que corresponde à ação de "baixar" as atualizações.
Para fixar, veja a comparação entre os comandos mais cobrados em provas:
Comando | Função | Efeito no working directory |
|---|---|---|
| Baixa dados do remoto | Não altera os arquivos locais |
| Baixa e mescla (fetch + merge) | Altera os arquivos locais |
| Envia commits locais para o remoto | Não altera o local (envia) |
| Mostra diferenças entre versões | Não altera nada |
| Troca de branch ou restaura arquivos | Altera o working directory |
A pegadinha clássica é confundir git fetch com git pull. O enunciado pede apenas "baixar" as atualizações, o que é feito pelo git fetch. Se a questão pedisse "baixar e integrar" ou "atualizar a branch atual", a resposta seria git pull. Guarde essa distinção: fetch baixa, pull baixa e mescla.
O git pull baixa as alterações do repositório remoto e as mescla automaticamente na branch atual. O enunciado pede apenas "baixar todas essas atualizações", sem mencionar a mesclagem. Embora o git pull também traga as atualizações, ele vai além do que foi solicitado, pois realiza o merge. A banca explora exatamente essa diferença: quem lê rapidamente pode marcar git pull por ser o comando mais conhecido para "atualizar", mas a descrição do enunciado — "baixar" — aponta para o git fetch.
O git fetch baixa todos os commits, arquivos e referências do repositório remoto para o repositório local, sem mesclá-los automaticamente na branch de trabalho. Isso atualiza o banco de dados local do Git, permitindo que você veja as mudanças e decida quando integrá-las. É exatamente o que o enunciado descreve: "baixar todas essas atualizações do repositório remoto para o seu repositório local".
O git diff é usado para mostrar diferenças entre versões de arquivos, commits ou branches. Ele não baixa nada do repositório remoto; apenas exibe as alterações entre dois pontos do histórico. Não tem relação com a sincronização com o remoto.
O git push faz o oposto do que a questão pede: ele envia os commits do repositório local para o remoto. É o comando usado para publicar suas alterações no GitHub, não para baixar atualizações.
O git checkout é usado para trocar de branch ou restaurar arquivos do working directory a partir de um commit ou branch. Ele não baixa dados do repositório remoto; trabalha com o conteúdo já existente no repositório local.
A banca troca git fetch por git pull para confundir. O enunciado diz "baixar todas essas atualizações", e o git pull também baixa — mas ele mescla automaticamente. A palavra-chave é "baixar" (fetch), não "atualizar e integrar" (pull). Se a questão pedisse "baixar e mesclar", a resposta seria git pull. Fique atento a essa distinção, pois é a mais cobrada em provas de Git.
Para não errar, lembre da fórmula: git pull = git fetch + git merge. Quando o enunciado falar apenas em "baixar" ou "buscar" atualizações, a resposta é git fetch. Quando falar em "baixar e integrar" ou "atualizar a branch atual", a resposta é git pull. Essa é a diferença que a banca explora.
Gabarito: letra B
Link permanente: /questoes/qg262662