Pular para o conteúdo principal

Questão de Engenharia de Software — Git — CESPE / CEBRASPE 2025

Engenharia de SoftwareGit
Código
ce417747
Banca
CESPE / CEBRASPE
Órgão
PC DF
Ano
2025
Cargo
GAAPC ( )

A respeito de gerência de configuração de software, julgue o item a seguir.

 

Em GIT, o comando cherry-pick aplica o commit específico de uma branch a branch atual, criando um novo commit na branch de destino.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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”.

Gerência de Configuração: o comando cherry-pick no Git

Gabarito: Certo (C). O comando git cherry-pick aplica um commit específico de uma branch na branch atual, criando um novo commit na branch de destino — exatamente o que o enunciado afirma. Essa é a função canônica do comando, amplamente documentada na documentação oficial do Git e cobrada em concursos como uma das operações de integração de histórico entre branches.

O Git é um sistema de controle de versão distribuído que trata os dados como um conjunto de imagens (snapshots) de um sistema de arquivos. Cada commit representa uma alteração consolidada no projeto, com um ID exclusivo (checksum SHA-1). Quando trabalhamos com múltiplas branches, precisamos integrar o trabalho de uma branch em outra. Existem três operações principais para isso: merge, rebase e cherry-pick. Cada uma tem um comportamento distinto e é importante conhecer a diferença para não confundir na prova.

O merge integra duas branches criando um novo commit de merge, preservando o histórico de ambas. O rebase reescreve o histórico, aplicando os commits de uma branch sobre a ponta de outra, criando novos commits (com novos hashes). Já o cherry-pick é mais cirúrgico: ele pega um commit específico (ou vários) de uma branch e o aplica na branch atual, criando um novo commit com as mesmas alterações, mas com um novo hash. É como "copiar" uma mudança específica sem trazer todo o histórico da branch de origem.

Na prática, o cherry-pick é útil quando você quer trazer uma correção de bug específica de uma branch de desenvolvimento para uma branch de produção, sem integrar todas as outras mudanças que estão na branch de desenvolvimento. Por exemplo, se a branch feature-x tem 10 commits, mas você só quer o commit que corrige um bug crítico na branch main, você usa git cherry-pick <hash-do-commit> estando na branch main. O Git aplicará as alterações daquele commit específico, criando um novo commit na main.

A pegadinha que a banca poderia explorar é confundir cherry-pick com merge ou rebase. O merge integra a branch inteira; o rebase reescreve o histórico; o cherry-pick aplica apenas um commit específico. O enunciado é preciso ao dizer "aplica o commit específico de uma branch a branch atual, criando um novo commit na branch de destino" — essa é a definição exata do comando.

Guarde essa distinção: merge = integra tudo; rebase = reescreve tudo; cherry-pick = copia um commit específico. É exatamente nessa fronteira que as questões sobre integração de branches se dividem.

Item — ✅ CERTO

A afirmativa está correta. O comando git cherry-pick tem exatamente essa função: aplicar um commit específico de uma branch na branch atual, criando um novo commit na branch de destino. O enunciado descreve com precisão o comportamento do comando, sem qualquer erro conceitual.

PEGA ESSA DICA!

Para fixar, compare os três comandos de integração de histórico:

Comando

O que faz

Cria novo commit?

merge

Integra a branch inteira na branch atual

Sim (commit de merge)

rebase

Reaplica os commits de uma branch sobre outra, reescrevendo o histórico

Sim (novos hashes)

cherry-pick

Aplica um commit específico de uma branch na branch atual

Sim (novo commit)

Na prova, quando o enunciado falar em "commit específico", a resposta é cherry-pick.

Gabarito: Certo (C).

Link permanente: /questoes/ce417747