Questão de Engenharia de Software — Git — CESPE / CEBRASPE 2025
Engenharia de Software›Git
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.
CCerto
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.