Por que essa escolha de cereja tem um conflito?

eu seigit cherry-pick é um comando usado para aplicar as alterações de confirmação especificada, mas acho que realmente não entendo como elas funcionam.

Digamos que um repo atue assim:

git init

echo a>a
git add .; git commit -am 'master add line a'

git checkout -b dev
echo b>>a
git commit -am 'dev add line b'
echo c>>a
git commit -am 'dev add line c'

git checkout master

git cherry-pick dev

eu penseicherry-pick comando funcionaria bem e alterar o arquivoa para dentro:

a

c

mas na verdade recebi a seguinte mensagem:

error: could not apply 08e8d3e... dev add line c
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

E então eu corro:

git diff

resultado:

diff --cc a
index 7898192,de98044..0000000
--- a/a
+++ b/a
@@@ -1,1 -1,3 +1,6 @@@
  a
++<<<<<<< HEAD
++=======
+ b
+ c
++>>>>>>> 11fff29... abc

Então, minha pergunta é:Por que existe um conflito como o git-diff shows? Quais são os detalhes da escolha da cereja trabalhando neste caso?

questionAnswers(2)

yourAnswerToTheQuestion