Questão de Engenharia de Software — Gerência de Configuração — FGV 2023
Engenharia de Software›Gerência de Configuração
Código
fg069582
Banca
FGV
Órgão
SEFAZ-MG
Ano
2023
Nível
Superior
Cargo
Auditor Fiscal da Receita Estadual - Tecnologia da Informação (Tarde)
O comando git que deve ser usado para descartar commits que foram feitos apenas localmente e traz o repositório local para o estado do último push do repositório remoto é o
Agit reset.
Bgit revert.
Cgit clean.
Dgit stash.
Egit discard.
Revelar gabarito e comentário▾
GabaritoA — git reset.
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: Comando para descartar commits locais
Gabarito: letra A (git reset). O comando git reset é o que permite descartar commits feitos apenas localmente e trazer o repositório local ao estado do último push remoto, normalmente com a opção --hard apontando para a branch remota. Os demais comandos não atendem a essa finalidade.
A questão testa o conhecimento dos comandos básicos do Git para gerenciamento de histórico e sincronização remota.
Alternativa A — ✅ Correta ⟵ GABARITO
O comando git reset pode ser usado para mover a branch atual para um commit específico, descartando commits posteriores. Quando combinado com --hard e a referência remota (ex.: git reset --hard origin/main), o repositório local é levado exatamente ao estado do último push remoto, descartando todos os commits locais que não foram enviados. Essa é a ferramenta adequada para o cenário descrito.
Alternativa B — ❌ Incorreta
git revert cria um novo commit que desfaz as alterações de um commit anterior, mas não descarta commits — ele adiciona um commit de reversão ao histórico. Isso preserva o histórico original, o que é útil quando se quer desfazer algo publicamente, mas não atende ao requisito de "descartar commits locais e trazer para o estado do último push".
Alternativa C — ❌ Incorreta
git clean é usado para remover arquivos não rastreados (untracked) do diretório de trabalho. Não lida com commits ou com o estado do repositório remoto.
Alternativa D — ❌ Incorreta
git stash salva temporariamente as modificações não commitadas (no diretório de trabalho e na área de preparação) e reverte para o estado do último commit (HEAD), mas não descarta commits já feitos. É usado para mudar de contexto rapidamente, não para sincronizar com o remoto.
Alternativa E — ❌ Incorreta
git discard não é um comando padrão do Git. Não existe no conjunto de comandos oficiais.
PEGA ESSA DICA!
Na hora da prova, lembre-se: reset "volta no tempo" descartando commits; revert "desfaz" criando um novo commit; stash guarda mudanças temporariamente; clean limpa arquivos não rastreados. Associe a palavra "descartar" ao reset — é o único que remove commits do histórico local.