Pular para o conteúdo principal

Questão de Arquitetura de Software — Conceitos Básicos em Arquitetura de Software — FGV 2023

Arquitetura de SoftwareConceitos Básicos em Arquitetura de Software
Código
fg061592
Banca
FGV
Órgão
Câmara dos Deputados
Ano
2023
Nível
Superior
Cargo
Analista Legislativo - Informática Legislativa - Tarde
Marcos trabalha em uma equipe de desenvolvimento de software que utiliza o Git como plataforma de gestão de configuração.Um membro da equipe, no entanto, fez um commit que introduziu, de maneira não intencional, um código com comportamento errático.Assinale a opção que indica o comando do Git que Marcos utilizou para fazer uma pesquisa binária para descobrir qual commit, no histórico do seu projeto, introduziu esse problema.
  1. Abisect.
  2. Bfetch.
  3. Cfind.
  4. Dlocate.
  5. Erebase.
Revelar gabarito e comentário

GabaritoA — 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: Comando para Pesquisa Binária no Histórico

Gabarito: letra A. O comando git bisect é o recurso do Git que realiza uma busca binária no histórico de commits para localizar exatamente qual commit introduziu um defeito, utilizando sucessivas marcações de "bom" e "ruim" para reduzir o intervalo de busca.

A questão aborda um comando específico do Git para depuração. O git bisect é a ferramenta padrão para essa finalidade, amplamente utilizada em equipes de desenvolvimento. As demais opções são comandos válidos, mas com propósitos totalmente diferentes.

Alternativa A — ✅ Correta ⟵ GABARITO

O comando git bisect inicia uma busca binária. O usuário marca um commit como "bom" (sem o bug) e outro como "ruim" (com o bug). O Git então seleciona um commit intermediário; o usuário testa e marca novamente. O processo se repete até encontrar o commit exato que causou o problema. É a ferramenta ideal para a situação descrita.

Alternativa B — ❌ Incorreta

git fetch baixa objetos e referências de um repositório remoto, mas não realiza qualquer busca no histórico local ou análise de bugs. Seu propósito é sincronizar dados com o repositório remoto.

Alternativa C — ❌ Incorreta

git find não é um comando nativo do Git. Existem comandos como git log, git grep ou ferramentas externas como git bisect para localizar mudanças, mas find não faz parte do Git.

Alternativa D — ❌ Incorreta

Assim como find, locate não é um comando do Git. É um comando do sistema operacional para localizar arquivos no disco, sem relação com o histórico de commits.

Alternativa E — ❌ Incorreta

git rebase reorganiza commits, aplicando-os sobre uma nova base. Pode ser usado para limpar o histórico, mas não ajuda a descobrir qual commit introduziu um bug; pelo contrário, pode dificultar a rastreabilidade.

NÃO CAIA NESSA!

A banca tenta confundir com comandos que têm nomes sugestivos, como find ou rebase. Lembre-se: a ferramenta de pesquisa binária no Git se chama exclusivamente bisect. Memorize essa associação.

Gabarito: letra A.

Link permanente: /questoes/fg061592