Cherry-pick
Explicação sobre o uso do git cherry-pick para aplicar commits de uma branch de feature (feature1) em outra branch de feature (feature2).
Quando usar
Use git cherry-pick quando você precisar de um ou mais commits específicos de uma branch de feature, mas não deseja incorporar todas as mudanças dessa branch.
Como usar
Identifique o commit a ser cherry-picked: Primeiro, você precisa identificar o hash do commit que deseja aplicar. Você pode encontrar isso usando
git logna branch de origem.git logO hash do commit é a sequência longa de caracteres (SHA-1) que identifica o commit, como
a1b2c3d4.Checkout na branch de destino: Certifique-se de estar na branch onde deseja aplicar o commit. Por exemplo, se você quer aplicar o commit na branch
feature2:git checkout feature2Cherry-pick o commit: Use o comando
git cherry-pickseguido pelo hash do commit:git cherry-pick a1b2c3d4O Git aplicará as mudanças do commit especificado na branch atual.
Resolver conflitos (se houver): Se houver conflitos durante o cherry-pick, o Git irá pausar o processo e pedir para você resolver esses conflitos manualmente. Depois de resolver os conflitos, você precisa adicionar os arquivos resolvidos e continuar com o cherry-pick:
git add <arquivo_resolvido> git cherry-pick --continueSe decidir abortar o cherry-pick, você pode usar:
git cherry-pick --abort
Exemplo Prático
Suponha que você tenha um commit específico na branch feature1 que deseja aplicar na branch feature2.
Encontre o hash do commit desejado na branch
feature1:Suponha que o hash do commit seja
e5f6g7h8.Vá para a branch
feature2:Aplique o commit usando
git cherry-pick:
Benefícios
Precisão: Permite aplicar mudanças específicas sem trazer todo o histórico de uma branch.
Flexibilidade: Útil para correções rápidas ou quando apenas uma parte das mudanças de uma branch é necessária.
Limitações
Histórico não linear: Pode complicar o histórico de commits se usado em excesso.
Possíveis conflitos: Similar a merges e rebases, pode resultar em conflitos que precisam ser resolvidos manualmente.
O git cherry-pick é uma ferramenta poderosa para aplicar commits específicos de maneira seletiva, garantindo que você mantenha controle sobre as mudanças que são integradas em sua branch de feature.
Laboratório
Bug na sua branch de feature cuja correção está em outra branch de feature que não tenha sido atualizada na branch principal
Situação atual da branch principal:
Criação da branch feature-1 e arquivo a partir da branch principal:
Criação e commit do arquivo feature-1.txt:
Criação da branch feature-2, arquivo feature-2.txt e commit a partir da branch principal:
O commit 019b7318395a5897c7ae52b202b6006c67c64c38 da branch feature-2 possui a correção a ser aplicada na feature-1.
Cherry-pick
Last updated