Questão de Engenharia de Software — Git — VUNESP 2023
Engenharia de Software›Git
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:
Agit bisect
Bgit help
Cgit mv
Dgit push
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.
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.