No Git, o cherry-picking permite que se adicione um commit ...

Próximas questões
Com base no mesmo assunto
Q3407604 Engenharia de Software
Acerca de princípios do DevOps, automação de builds e deploys, CI/CD, versionamento, branches, merge e pipelines, julgue o item a seguir. 
No Git, o cherry-picking permite que se adicione um commit de certa branch ao último commit de outra branch, sem que se inclua o restante dos commits da branch de origem. 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - errado

Tema central: Esta questão aborda o comando cherry-pick do Git e seu uso em controle de versão, no contexto de DevOps. Entender corretamente o funcionamento do cherry-picking é essencial para gerenciar modificações em projetos colaborativos e evitar erros conceituais em provas de concurso.

Resumo teórico: No Git, o cherry-pick é utilizado para aplicar um ou mais commits específicos de uma branch em outra, sem necessidade de mesclar todas as alterações daquela branch. O comando é: git cherry-pick <hash_commit>. Isso cria um novo commit na branch de destino, copiando as alterações do commit escolhido. Ele não adiciona o commit ao último commit, mas sim cria um commit separado, mantendo o histórico claro e separado.

Fonte: Git Documentation – https://git-scm.com/docs/git-cherry-pick

Justificativa para a alternativa "Errado":

A questão afirma que o cherry-picking “permite que se adicione um commit de certa branch ao último commit de outra branch”. Isso está incorreto: o cherry-pick não adiciona ao último commit, mas sim cria um novo commit na sequência do histórico da branch de destino, com as alterações daquele commit específico. Não há fusão (merge) de commits, e o registro permanece separado e explícito no log.

Como identificar pegadinhas: Palavras como “adicionar ao último commit” podem confundir, pois sugerem uma sobrescrição ou combinação direta, o que não ocorre com o cherry-pick. Sempre que encontrar termos assim, lembre-se de revisar o funcionamento real do comando.

Conclusão: O comando cherry-pick copia as alterações de um commit e cria um novo commit na branch de destino, sem mesclar ou sobrescrever o commit anterior. Assim, a afirmação apresentada está errada.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Gabarito Definitivo E

Justificativa: A redação do item não pode ser considerada correta, uma vez que a descrição do enunciado não representa corretamente o funcionamento do comando Git cherry-pick, conforme documentado oficialmente.

Analisando em partes, temos:

1 "No Git, o cherry-picking permite que se adicione um commit de certa branch"

Isso está correto: o git cherry-pick de fato aplica um commit específico (ou mais, se indicado explicitamente) de outra branch.

2 "ao último commit de outra branch"

O cherry-pick não adiciona um commit "ao último commit". O que acontece é que o cherry-pick aplica o conteúdo daquele commit como um novo commit no topo da branch atual. Ou seja, o conteúdo do commit selecionado será reaplicado como um novo commit, com novo hash, logo após o commit atual da branch de destino.

3 “sem que se inclua o restante dos commits da branch de origem.”

Correto. O cherry-pick é pontual, não traz os commits anteriores ou posteriores automaticamente.

Conclusão: Item errado.

No Git, o cherry-picking permite que se adicione um commit de certa branch ao último commit de outra branch, sem que se inclua o restante dos commits da branch de origem. 

O problema é essa afirmação"ao último commit de outra branch" . Já que na verdade, o que acontece é que ele adiciona um commit de certa branch APÓS o ultimo commit de outra branch.

EXEMPLO:

Branch A: A1 — A2 — A3

Branch B: B1 — B2

(cherry-pick B2 em A)

Branch A: A1 — A2 — A3 — B2

GAB: ERRADO.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo