Sobes.tech
Middle

Para que serve o comando git cherry-pick?

sobes.tech IA

Resposta da IA

Para transferir commits individuais de um ramo para outro. Permite aplicar seletivamente as alterações apresentadas por um commit específico, sem necessidade de fundir toda a ramificação.

Vantagens:

  • Aplicação isolada de alterações.
  • Evitar conflitos de fusão ao transferir apenas os commits necessários.
  • Manter a limpeza do histórico de ramos.

Sintaxe:

git cherry-pick <hash-do-commit>

Pode-se especificar vários hashes de commits ou um intervalo de commits:

git cherry-pick <hash-do-commit-1> <hash-do-commit-2> ...
git cherry-pick <hash-inicial>^..<hash-final>

Exemplo de uso:

Suponha que exista um ramo feature com os commits A, B, C, e um ramo develop. É necessário transferir apenas o commit B para develop.

  1. Mude para o ramo develop:
    git checkout develop
    
  2. Execute cherry-pick para o commit B (supondo que seu hash seja abcdef):
    git cherry-pick abcdef
    

Se surgirem conflitos, eles devem ser resolvidos, e então continuar (git cherry-pick --continue) ou abortar a operação (git cherry-pick --abort).

Alternativas:

  • git merge: Junta todas as alterações de um ramo em outro.
  • git rebase: Move ou combina uma sequência de commits em um novo commit base.

git cherry-pick é útil quando se deseja transferir seletivamente correções de bugs ou pequenas alterações funcionais entre ramos.