Questão de Engenharia de Software — Geral — INSTITUTO AOCP 2026
Engenharia de Software›Geral
Código
qa431993
Banca
INSTITUTO AOCP
Órgão
UNIRIO
Ano
2026
Cargo
Tec ( )
O Git é um sistema de controle de versão distribuído amplamente utilizado para gerenciar alterações em projetos de software, permitindo colaboração, rastreamento de histórico e organização do desenvolvimento. A respeito dos comandos do Git, informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir e assinale a alternativa com a sequência correta.
( ) O comando git push serve para enviar commits para o repositório remoto.
( ) O comando git pull serve para desfazer alterações em arquivos.
( ) O comando git fetch serve para remover um arquivo do staging area.
( ) O comando git stash serve para criar um novo commit desfazendo outro, sem apagar histórico.
AV – V – F – F.
BV – F – V – F.
CV – F – F – F.
DF – V – F – V.
EF – F – V – V.
Revelar gabarito e comentário▾
GabaritoC — V – F – F – F.
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”.
Comandos do Git: push, pull, fetch e stash
Gabarito: letra C — sequência V – F – F – F. Apenas a primeira afirmativa está correta: git push envia commits para o repositório remoto. As demais trocam as funções de comandos distintos: git pull baixa e integra alterações do remoto (não desfaz nada), git fetch apenas baixa referências do remoto (não mexe no staging area) e git stash guarda temporariamente alterações não commitadas (não cria commit).
O Git é um sistema de controle de versão distribuído: cada desenvolvedor tem uma cópia completa do repositório, com todo o histórico. Os comandos operam em três áreas principais — working directory (arquivos que você edita), staging area/index (onde você prepara o que vai entrar no próximo commit) e repositório local (onde os commits são gravados). Entender em qual área cada comando atua é a chave para não confundir as funções.
Vamos ao detalhe de cada comando cobrado:
git push: envia os commits do repositório local para um repositório remoto (ex.: GitHub, GitLab). É a forma de publicar seu trabalho e compartilhá-lo com a equipe. Sem ele, suas alterações ficam apenas na sua máquina.
git pull: é a combinação de dois comandos — git fetch (baixa as referências do remoto) seguido de git merge (integra as alterações baixadas ao seu branch atual). Ou seja, ele atualiza seu repositório local com o que há no remoto. Não desfaz alterações; quem desfaz alterações no working directory é o git checkout -- <arquivo> ou git restore <arquivo>, e quem desfaz commits é o git revert ou git reset.
git fetch: baixa os commits e referências do repositório remoto para o seu repositório local, mas não altera o working directory nem o staging area. Ele apenas atualiza as referências remotas (ex.: origin/main). Para integrar as alterações baixadas, você precisa de um git merge ou git rebase.
git stash: guarda temporariamente as alterações não commitadas (modificações no working directory e no staging area) em uma pilha, permitindo que você mude de branch ou faça outras tarefas sem perder o trabalho. Depois, pode recuperá-las com git stash pop ou git stash apply. Não cria commit — o commit é criado com git commit.
A pegadinha da banca está em atribuir a cada comando a função de outro: pull não desfaz, fetch não remove do staging, e stash não cria commit. O candidato que decora os nomes sem entender o fluxo cai fácil.
NÃO CAIA NESSA!
A banca troca as funções dos comandos para confundir. git pull não desfaz alterações — ele atualiza o repositório local com o remoto. git fetch não remove arquivos do staging — ele baixa referências do remoto. git stash não cria commit — ele guarda alterações temporariamente. Memorize a função real de cada um e você elimina as alternativas erradas na hora.
Comandos Git: git push (Envia commits ao remoto); git pull (Baixa e integra (fetch + merge), Não desfaz alterações); git fetch (Baixa referências do remoto, Não mexe no staging); git stash (Guarda alterações temporariamente, Não cria commit)
Afirmativa 1 — ✅ Verdadeira
git push envia commits do repositório local para o remoto. É exatamente a função de publicar o trabalho. Correto.
Afirmativa 2 — ❌ Falsa
git pull não desfaz alterações; ele atualiza o repositório local com as alterações do remoto (fetch + merge). Para desfazer alterações não commitadas, usa-se git checkout -- <arquivo> ou git restore; para desfazer commits, git revert ou git reset.
Afirmativa 3 — ❌ Falsa
git fetch não remove arquivos do staging area; ele baixa commits e referências do remoto para o repositório local, sem tocar no working directory nem no staging. Para remover um arquivo do staging, usa-se git reset HEAD <arquivo> ou git rm --cached <arquivo>.
Afirmativa 4 — ❌ Falsa
git stash não cria commit; ele guarda temporariamente alterações não commitadas em uma pilha. Quem cria commit é o git commit. O comando que cria um novo commit desfazendo outro, sem apagar histórico, é o git revert.
Conclusão: apenas a primeira afirmativa é verdadeira → sequência V – F – F – F → letra C.