Junior
O que é cherry-pick?
sobes.tech IA
Resposta da IA
git cherry-pick é usado para transferir um ou mais commits de um ramo para outro.
Princípio de funcionamento:
- Seleciona o commit (ou commits) especificado no ramo de origem.
- Aplica as alterações contidas nesses commits ao ramo ativo atual.
- Cria novos commits no ramo atual com as mesmas alterações e mensagens que os commits originais.
Quando usar:
- Transferir uma correção específica de erro de um ramo (por exemplo, produção) para outro (por exemplo, desenvolvimento), sem afetar outras alterações.
- Aplicar alterações de um ramo de funcionalidades para outro, sem fundi-los completamente.
- Cancelar merges incorretos mantendo os commits individuais.
Diferenças de merge e rebase:
merge: Une toda a história de alterações de um ramo em outro.rebase: Reescreve a história dos commits, movendo-os para uma nova base.cherry-pick: Aplica apenas os commits selecionados, criando novos e sem alterar a história dos commits originais.
Comando principal:
# Transferir um commit
git cherry-pick <commit-hash>
# Transferir vários commits (na ordem de sua indicação)
git cherry-pick <commit-hash-1> <commit-hash-2> ...
Exemplo:
Suponha que existam duas branches: main e feature. Na branch feature, foi feito um commit fix-typo. É necessário transferir esse commit para a branch main.
# Mudar para a branch de destino
git checkout main
# Executar cherry-pick usando o hash do commit da branch feature
git cherry-pick 7f3bca2 # Exemplo de hash de commit
Após executar o comando, na branch main aparecerá um novo commit com as mesmas alterações de fix-typo, mas com um hash diferente.