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?