Menu
Coddy logo textTech

Git Cherry-pick

Última atualização

git cherry-pick copia as alterações de um ou mais commits específicos e as aplica na sua branch atual como novos commits. É assim que você pega uma única correção de outra branch sem mesclar toda aquela branch - útil para fazer backport de um hotfix ou tirar um commit de uma branch de feature.

Experimente estes comandos no terminal playground - um shell real no seu navegador, sem nada para instalar.

Sintaxe

CommandWhat it does
git cherry-pick <hash>Aplica um commit na branch atual
git cherry-pick <a> <b>Aplica vários commits em ordem
git cherry-pick <a>..<b>Aplica um intervalo de commits (excluindo a)
git cherry-pick -n <hash>Aplica as alterações mas ainda não faz commit
git cherry-pick -x <hash>Registra o commit original na mensagem

Durante um cherry-pick

Se um cherry-pick gerar um conflito, resolva-o e continue.

CommandWhat it does
git cherry-pick --continueRetoma após resolver os conflitos
git cherry-pick --abortCancela e restaura a branch
git cherry-pick --skipPula o commit atual

Perguntas frequentes sobre git cherry-pick

O que o git cherry-pick faz?
Ele pega as alterações introduzidas por um commit específico e as aplica na sua branch atual como um commit totalmente novo (com um novo hash). Diferente do merge ou do rebase, ele não traz uma branch inteira - apenas o commit ou os commits que você indicar.
Quando devo usar o cherry-pick?
Use quando precisar de um commit específico em outro lugar - por exemplo, fazer backport de uma correção de bug da main para uma branch de release, ou extrair um único commit útil de uma branch de feature sem mesclar tudo. Se você quer a branch inteira, use merge ou rebase.
Como faço cherry-pick de vários commits?
Liste-os: git cherry-pick <a> <b> <c> aplica cada um em ordem. Para um intervalo contíguo use git cherry-pick <start>..<end>, que aplica todos os commits depois de start até end inclusive. Adicione <start>^..<end> se quiser incluir o próprio start.
E se um cherry-pick causar um conflito?
O Git pausa e marca os arquivos em conflito. Resolva-os, faça git add dos resultados e então execute git cherry-pick --continue. Para desfazer completamente, use git cherry-pick --abort, que restaura sua branch ao estado anterior ao início do cherry-pick.
Posso praticar isso online?
Sim. Abra o terminal playground para executar git cherry-pick em um shell real no seu navegador - sem nada para instalar. O curso interativo e gratuito de Git da Coddy também cobre como mover commits entre branches passo a passo.
Coddy programming languages illustration

Aprenda Git com a Coddy

COMEÇAR