Git Cherry-Pick

1 min

Índice

  1. O que é Cherry-Pick?
  2. Prática rápida
  3. Cenário de utilização
  4. Comandos essenciais

1. O que é Cherry-Pick?

Git cherry-pick = copiar UM commit específico de uma branch para outra.

Exemplo concreto:

  • Em feature-login: commit de correção de um bug crítico
  • Em main: quer SÓ essa correção, não a branch inteira
  • Solução: git cherry-pick <commit-hash>

Voltar ao índice

2. Prática rápida

Criação do projeto:

bash
mkdir demo-cherry-pick && cd demo-cherry-pick
git init

echo "print('v1')" > app.py
git add . && git commit -m "Versão inicial"

# Criar branch feature
git checkout -b feature-new
echo "print('v2-feature')" > app.py  
git add . && git commit -m "Nouvelle fonctionnalité"

echo "print('v2-bugfix')" > app.py
git add . && git commit -m "Fix critique"

# Voltar a main e cherry-pick SÓ o bugfix
git checkout main
git cherry-pick <hash-du-commit-bugfix>

Pronto! A correção está em main, sem a funcionalidade.

Voltar ao índice

3. Cenário de utilização

Situação típica:

  1. Desenvolvimento em feature-branch
  2. Bug crítico descoberto e corrigido
  3. Produção (main) precisa da correção AGORA
  4. Mas não de toda a feature em desenvolvimento

Solução:

bash
git log --oneline feature-branch    # Encontrar o hash da correção
git checkout main
git cherry-pick abc123f             # Aplicar SÓ este commit

Voltar ao índice

4. Comandos essenciais

ComandoAção
git cherry-pick <hash>Copiar um commit
git cherry-pick <hash1> <hash2>Copiar vários commits
git cherry-pick --continueContinuar depois da resolução de conflito
git cherry-pick --abortAnular a operação

É tudo! Cherry-pick é simples: 1 commit → 1 cópia.

Voltar ao índice