Pular para o conteúdo principal

Questão de Engenharia de Software — Git — VUNESP 2023

Engenharia de SoftwareGit
Código
vu196967
Banca
VUNESP
Órgão
CIJUN
Ano
2023
Cargo
Ana ( )

Na documentação oficial do Git, os comandos são agrupados conforme suas funcionalidades. Um comando Git utilizado para debugging é o:

  1. Agit bisect
  2. Bgit help
  3. Cgit mv
  4. Dgit push
  5. Egit tag
Revelar gabarito e comentário

GabaritoA — git bisect

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: comandos de debugging

Gabarito: letra A. O comando git bisect é o utilitário do Git destinado ao debugging, pois permite localizar, por busca binária, o commit que introduziu um defeito no código. Os demais comandos têm outras finalidades: git help exibe ajuda, git mv move/renomeia arquivos, git push envia commits para um repositório remoto e git tag gerencia etiquetas (tags).

O Git é um sistema de controle de versão distribuído que oferece um conjunto de comandos organizados por funcionalidade. Entre eles, há um grupo específico para inspeção e depuração, que inclui comandos como git log, git diff, git blame e, principalmente, git bisect. O git bisect é a ferramenta clássica de debugging: ele usa um algoritmo de busca binária para percorrer o histórico de commits e identificar, com o mínimo de passos, o commit exato que introduziu uma regressão (bug). O desenvolvedor marca um commit "bom" (sem o bug) e um commit "ruim" (com o bug), e o Git vai alternando entre os commits intermediários, pedindo ao usuário que teste cada um, até isolar o commit culpado.

A documentação oficial do Git agrupa os comandos em categorias como "Criar novos repositórios", "Examinar o histórico e o estado", "Crescer, marcar e ajustar seu histórico comum", "Colaborar", e "Inspecionar e comparar". O git bisect está na categoria de inspeção/debugging, junto com git blame e git grep. Já os comandos das alternativas pertencem a outras categorias: git help é um comando de ajuda geral; git mv é um comando de manipulação de arquivos; git push é um comando de colaboração (envio para remoto); e git tag é um comando de marcação de versões.

A pegadinha da banca é justamente explorar a confusão entre comandos de "debugging" e comandos de outras finalidades. Muitos candidatos podem associar git tag a algo relacionado a testes (por marcar versões), ou git push a algo de "correção" (por enviar correções), mas nenhum deles é um comando de debugging. O git bisect é o único que tem como propósito explícito encontrar a origem de um bug.

Guarde a função de cada comando: bisect = busca binária para achar commit que introduziu bug; help = documentação; mv = mover/renomear; push = enviar para remoto; tag = marcar versões. É essa distinção que separa as alternativas.

1Debugging
git bisect (busca binária)
git blame
git grep
2Ajuda
git help
3Arquivos
git mv
4Colaboração
git push
5Versões
git tag
Comandos Git
LEVELsoulevel.com.br
Comandos Git: Debugging (git bisect (busca binária), git blame, git grep); Ajuda (git help); Arquivos (git mv); Colaboração (git push); Versões (git tag)

Alternativa A — ✅ Correta ⟵ GABARITO

O git bisect é o comando de debugging por excelência. Ele realiza uma busca binária no histórico de commits para encontrar o commit que introduziu uma regressão. O fluxo típico é: git bisect start, marcar um commit bom (git bisect good <commit>), marcar um commit ruim (git bisect bad <commit>), e o Git vai fazendo checkout de commits intermediários para o usuário testar, até isolar o commit culpado. É uma ferramenta poderosa e específica para depuração.

Alternativa B — ❌ Incorreta

O git help exibe a documentação de ajuda do Git (por exemplo, git help <comando> mostra o manual do comando). Ele não tem função de debugging; é um comando de suporte/documentação.

Alternativa C — ❌ Incorreta

O git mv move ou renomeia um arquivo no repositório, registrando a operação no índice. É um comando de manipulação de arquivos, não de debugging.

Alternativa D — ❌ Incorreta

O git push envia commits do repositório local para um repositório remoto. É um comando de colaboração/sincronização, não de debugging.

Alternativa E — ❌ Incorreta

O git tag cria, lista ou exclui etiquetas (tags) que marcam pontos específicos do histórico, geralmente versões de release. Não tem relação com debugging.

Gabarito: letra A

Link permanente: /questoes/vu196967