Embora a operação git cherry-pick seja comum no Git, geralmente não é a melhor solução. Às vezes, este é o menor de dois males, mas ainda não vi uma situação em que seria apropriado.
Esta é a primeira parte de uma série que começa explicando por que copiar é ruim, continua explicando por que é terrível e, em seguida, descreve como obter o mesmo resultado usando mesclagem. Mostrarei como aplicar essa técnica quando precisar fazer uma mesclagem retroativa e quando quiser corrigir a cópia para mesclagem antes que algo de ruim aconteça
Dois ramos estão envolvidos na cópia: o doador (de onde vem o commit) e o receptor (de onde é copiado). Vamos chamá-los de master e feature respectivamente. Para simplificar, vamos supor que o commit que você está copiando contém a alteração em apenas uma linha de um único arquivo. Neste diagrama, cada confirmação é marcada com o conteúdo dessa linha e a seta tracejada indica a própria cópia (operação git cherry-pick
).

, , .
- "apple". , F1 feature, M1 master. , "apple". F2 feature, "berry", F2 master M2.
.
, :

3 master F3 feature. , "berry".
feature master. , , "berry".

, , , .
. F2 3 master F3 feature, F3 "cherry". , feature, , "cherry". , :

feature master . (three-way merge) "apple", feature "cherry", — "berry".
<<<<<<<<<< HEAD (master) berry ||||||||| merged common ancestors apple ========= cherry >>>>>>>>>> feature
, , . , .
, , , feature.
( , .). ?

, "apple". victim A V1, . V1 feature : F1 , "apple". master 1, .
. feature "berry" F2, master M2. "cherry" feature F3. master 3, , master "berry".
victim "-" feature master. V2 V3, "apple".
- , feature victim, V4 , "cherry" feature.
"" victim, master. ! : "" F2 M2. , , , () , .
Resumindo, o problema: quando git cherry-pick
duas cópias de um commit aparecem na árvore. Se pelo menos uma de suas linhas mudar antes de mesclar suas cópias, ocorrerá uma colisão não forçada. Além disso, isso pode acontecer em uma semana ou um ano. Isso significa que quem vai resolver pode simplesmente não ter os recursos para tomar a decisão certa (ele não copiou, a equipe mudou completamente, etc.).
Porém, tudo isso em Santa Bárbara pode piorar se o conflito não acontecer!
Porque? Leia na próxima parte.