在完成https://learngitbranching.js.org之后,我以为自己已经理解了cherry-pick的概念,但事实证明我完全没有。
我创建了一个名为abc.txt
的文件,并按照以下步骤进行提交:
(write a) ← (write b) ← (write c)[master][HEAD]
通过这个过程,abc.txt
就变成了:
a
b
c
现在,从`from-a`(分支)上创建`write a`的分支。
(write a)[from-a][HEAD] ← (write b) ← (write c)[master]
经过挑选 (write c)[master]
,我认为这将使abc.txt
只包含a行和c行,即像这样:
a
c
但实际上结果是这样的:
a
<<<<<<< HEAD
=======
b
c
>>>>>>> 3a0882d... write c
我的困惑有两个方面。为什么会冲突,而不是只添加这一行代码?为什么它包含了 b-line,尽管我只挑选了 write c
?