Pular para o conteúdo principal

Questão de Engenharia de Software — Geral — INSTITUTO AOCP 2026

Engenharia de SoftwareGeral
Código
qa434213
Banca
INSTITUTO AOCP
Órgão
IF CE
Ano
2026
Cargo
Tec ( )
No desenvolvimento de suas atividades como técnico de tecnologia da informação no IFCE, você está auxiliando na manutenção de um sistema acadêmico versionado com a ferramenta Git. Durante a atualização do repositório local, surge a necessidade de buscar as alterações existentes no repositório remoto, apenas para verificar o que foi modificado por outros membros da equipe, sem realizar a mesclagem (merge) automática dessas alterações na branch local.   Diante dessa situação, qual comando do Git deve ser utilizado?
  1. Agit reset
  2. Bgit stash
  3. Cgit push
  4. Dgit branch
  5. Egit fetch
Revelar gabarito e comentário

GabaritoE — git fetch

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Git: fetch, pull e a sincronização com o repositório remoto

Gabarito: letra E. O comando git fetch é o que busca as alterações do repositório remoto sem mesclá-las automaticamente na branch local — exatamente o que o enunciado pede. Ele apenas atualiza as referências remotas (como origin/main), deixando o histórico local intacto até que você decida integrar as mudanças com git merge ou git rebase. É a distinção central entre fetch e pull: o pull é um atalho que faz fetch + merge de uma só vez.

O Git é a ferramenta de controle de versão distribuído mais usada no mercado, e entender o fluxo de trabalho entre o repositório local e o remoto é essencial para qualquer profissional de TI. Quando você trabalha em equipe, outros membros enviam commits para o repositório remoto (geralmente em um servidor como GitHub, GitLab ou Bitbucket). Para se manter atualizado, você precisa trazer essas mudanças para o seu ambiente local. A questão é: como fazer isso sem alterar o seu trabalho em andamento?

A resposta está na diferença entre dois comandos que parecem fazer a mesma coisa, mas têm comportamentos distintos:

  • git fetch: baixa os commits, branches e tags do repositório remoto para o seu repositório local, mas não os integra à sua branch de trabalho. Ele atualiza as chamadas "remote-tracking branches" (por exemplo, origin/main), que são como "espelhos" do que existe no servidor. Seu working directory e sua branch atual permanecem inalterados. É o comando ideal para "espiar" o que os outros fizeram sem se comprometer com a integração.

  • git pull: é um atalho que executa git fetch seguido de git merge. Ou seja, ele busca as alterações e as mescla imediatamente na sua branch atual. Se você tem commits locais que ainda não foram enviados, o pull pode gerar um commit de merge ou conflitos que precisam ser resolvidos na hora.

A escolha entre fetch e pull depende do seu objetivo. Se você quer apenas verificar o que mudou, analisar o código e decidir quando integrar, use fetch. Se você quer já incorporar as mudanças ao seu trabalho, use pull. O enunciado é claro: "buscar as alterações existentes no repositório remoto, apenas para verificar o que foi modificado... sem realizar a mesclagem (merge) automática". Isso descreve perfeitamente o git fetch.

Vamos analisar cada alternativa para fixar o conceito e entender por que as outras opções não atendem ao requisito.

  1. 1git fetch
  2. 2Baixa referências remotas
  3. 3Não altera branch local
  4. 4git merge / rebase
  5. 5Integra ao trabalho
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

O git reset é um comando de manipulação do histórico local. Ele move o ponteiro da branch atual (HEAD) para um commit específico, podendo descartar commits, desfazer alterações no working directory ou no staging area. Ele não tem nenhuma relação com o repositório remoto — não busca nem envia nada. Usar reset aqui seria como tentar "atualizar" o repositório apagando o próprio histórico, o que não faz sentido para o cenário descrito.

Alternativa B — ❌ Incorreta

O git stash serve para guardar temporariamente as alterações não commitadas do seu working directory, permitindo que você mude de branch ou faça outras operações sem perder o trabalho em andamento. Ele é útil quando você precisa "limpar a mesa" antes de fazer um pull, por exemplo. Mas ele não busca nada do remoto — é uma operação puramente local. O enunciado pede para buscar alterações do remoto, o que o stash não faz.

Alternativa C — ❌ Incorreta

O git push é o oposto do que se deseja: ele envia os commits locais para o repositório remoto. É a operação de "publicar" o seu trabalho. No cenário da questão, o objetivo é trazer mudanças do remoto para o local, não o contrário. Usar push aqui seria um erro grave, pois tentaria enviar seu histórico local para o servidor, possivelmente causando conflitos ou rejeição.

Alternativa D — ❌ Incorreta

O git branch é um comando de gerenciamento de branches: lista, cria, renomeia ou deleta branches. Ele não interage com o repositório remoto no sentido de buscar alterações. Embora exista a variação git branch -r para listar branches remotas, isso apenas mostra os nomes das branches, não baixa o conteúdo dos commits. Não atende à necessidade de verificar as modificações feitas por outros membros.

Alternativa E — ✅ Correta ⟵ GABARITO

O git fetch é exatamente o comando que busca as alterações do repositório remoto sem mesclá-las automaticamente. Ele atualiza as referências remotas locais (como origin/main), permitindo que você inspecione o que mudou com comandos como git log origin/main ou git diff main origin/main, antes de decidir integrar. É a ferramenta perfeita para o cenário descrito: verificar as modificações sem comprometer a branch local.

PEGA ESSA DICA!

Para fixar, lembre-se da "família" de comandos de sincronização:

  • fetch = baixar (atualiza referências remotas, não mexe no seu trabalho)

  • pull = baixar + integrar (fetch + merge)

  • push = enviar (publica seus commits no remoto)

Na prova, quando o enunciado disser "buscar sem mesclar", a resposta é fetch. Quando disser "buscar e integrar", é pull. Essa distinção é clássica e muito cobrada.

Gabarito: letra E

Link permanente: /questoes/qa434213