Questão de Engenharia de Software — Teste de Software — CESPE / CEBRASPE 2024
Engenharia de Software›Teste de Software
Código
ce175979
Banca
CESPE / CEBRASPE
Órgão
LNA
Ano
2024
Nível
Superior
Cargo
Tecnologista – Especialidade: Desenvolvimento e Arquitetura de Software
Em um sistema de controle de versão como o Git, um merge conflict é
Auma condição que ocorre quando uma branch é excluída acidentalmente.
Bum alerta emitido pelo Git quando um commit não está de acordo com as diretrizes de mensagem.
Cum erro fatal que impede a execução do comando git merge.
Duma situação em que o Git não consegue encontrar um histórico comum entre duas branches.
Eum problema que ocorre quando há alterações conflitantes em um mesmo arquivo durante a mesclagem de branches.
Revelar gabarito e comentário▾
GabaritoE — um problema que ocorre quando há alterações conflitantes em um mesmo arquivo durante a mesclagem de branches.
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”.
Merge Conflict no Git
Gabarito: letra E. O merge conflict ocorre exclusivamente quando duas branches modificam a mesma parte de um arquivo de forma conflitante durante a operação de mesclagem (merge). O Git detecta a incompatibilidade e interrompe o merge, exigindo resolução manual pelo desenvolvedor. Essa definição é a única que corresponde à realidade do versionamento com Git.
O Cespe/Cebraspe cobra o conceito básico de conflito de merge, comum em questões introdutórias sobre Git. A banca espera que o candidato saiba que o conflito não é fatal nem impede o merge, mas sim uma situação resolvível manualmente.
Alternativa A — ❌ Incorreta
Afirma que merge conflict é causado pela exclusão acidental de uma branch. Excluir uma branch é uma operação independente (comando git branch -d), que não gera conflito. O conflito envolve alterações em arquivos, não remoção de ramificações.
Alternativa B — ❌ Incorreta
Diz que é um alerta sobre mensagens de commit fora de diretrizes. O Git não valida mensagens por padrão; existem hooks (como pre-commit) que podem fazer isso, mas não têm relação com merge conflict. A definição está totalmente desalinhada.
Alternativa C — ❌ Incorreta
Afirma ser um erro fatal que impede a execução do git merge. Na verdade, o comando git merge tenta mesclar; se houver conflito, ele não é fatal – o Git simplesmente pausa e sinaliza os arquivos conflitantes para correção manual. O merge não é impedido, apenas interrompido até resolução.
Alternativa D — ❌ Incorreta
Alega que falta histórico comum entre branches. O Git sempre encontra um ponto de divergência (merge base) para realizar um merge three-way. Mesmo em repositórios sem ancestral comum (projetos distintos), o Git permite merge com ancestral vazio, e isso não caracteriza conflito. Conflito é sobre edições concorrentes, não sobre falta de histórico.
Alternativa E — ✅ Correta ⟵ GABARITO
Descreve precisamente o merge conflict: "um problema que ocorre quando há alterações conflitantes em um mesmo arquivo durante a mesclagem de branches". Essa definição é exatamente a encontrada na documentação do Git e nos materiais de apoio. O conflito exige que o desenvolvedor edite manualmente o arquivo, adicione ao stage (git add) e finalize o merge com git commit.
SE LIGUE NESSA!
A resolução de conflitos é uma habilidade prática essencial no uso do Git. Em provas, lembre-se: conflito = mesma parte do mesmo arquivo editada de formas diferentes; o Git não resolve sozinho.