Não passe vergonha: Aprenda o que é Cherry Pick
A treta
"É normal um senior experiente não saber lidar com Git? Fazer revert, Cherry pick, conflito de branch e essas coisas? Pq eu com 6 meses de estágio já sei" - tweet
O que é Cherry Pick
Começando pela tradução livre, cherry-pick, significa escolher a dedo, ou mesmo selecionar a melhor opção entre tantas outras. Ou seja, é uma opção para o merge ou mesmo o rebase.
De acordo com a própria documentação do Git:
Aplique as alterações introduzidas por alguns commits existentes; Dado um ou mais commits existentes, aplique a alteração que cada um introduz, registrando um novo commit para cada um.
Portanto, este comando permite que o usuário selecionar commits específicos de uma branch para a outra.
Quando usar?
Imagine o seguinte caso, você está trabalhando na branch de cadastro de administradores, e seu colega está trabalhando em uma outra branch relacionada a cadastro de usuários.
Nesse trabalho, seu parceiro acaba encontrando um problema que atinge vocês dois, e faz a correção, mas a task dele ainda está em andamento.
Sendo assim, você não pode fazer o merge, mas você precisa da correção.
O Cherry pick veio para nos ajudar nesse problema
-Git Cherry Pick: o que é e quando usar
Geralmente é usado quando precisamos de um pedaço de código que ainda não foi finalizado e devidamente revisado.
Como usar?
É simples:
1- Identifique o commit que você quer trazer, 2- Vá para branch de destino, 3- Rode o seguinte comando:
git cherry-pick f13bd3c3531f26e805c606729857f39987a2420f
Simples e prático, mas lembre-se: Só funciona se existir a cultura de pequenos commits!
E você, Quantas vezes já usou cherry pick ?
Interessante o artigo! É uma ferramenta útil para situações específicas, mas, honestamente, nunca precisei usar em um cenário real. Como você falou, é necessário uma cultura de pequenos commits, o que pelo menos onde passei, é bem raro de acontecer. Você fazer um check-pick para pegar algo de outra branch, quase sempre vai causar a vinda de outras coisas não desejadas nas experiencias que tive.
check-pick muito interessante, me conformei com o rebase, talvés seje o momento de ver a possíbiliade de mudar um pouco. Valeu italosousa
!
A treta continua:
Sênior: "ah vá... tenho mais o que fazer:
git push -f
"
postei e saí correndo...
RAros são os casos que o desenvolvedor faz micro commits e primeiro corrige o bug para depois de fato passar a tratar a feature, na realidade ele a trata primeiro e no meio corrige algum bug (tudo junto) no commit, por isso pouco usei o recurso de cherry pick.