Warum hat dieser Cherry-Pick einen Konflikt?

Ich kennegit cherry-pick ist ein Befehl, der verwendet wird, um die Änderungen des angegebenen Commits anzuwenden, aber ich glaube, ich verstehe einfach nicht wirklich, wie es funktioniert.

Sagen wir mal so ein Repo:

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

Ich dachtecherry-pick Befehl würde gut funktionieren und Datei änderna in:

a

c

aber in der Tat habe ich die folgende Meldung erhalten:

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'

Und dann laufe ich:

git diff

Ausgabe

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

Also meine Frage ist:Warum gibt es einen Konflikt wie bei Git-Diff-Shows? Was sind die Details von Cherry-Pick in diesem Fall?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage