我创建了一个名为test的文件。在它中,我从测试文件中的主分支内容进行了两次提交,内容为1(第一次提交(&2(第二次提交(,我创建了一个功能分支,在其中我进行了三次提交,分别为3(第三次提交(、4(第四次提交(和5(第五次提交(;3在功能分支中。
现在,我只需要选择功能分支中的第四个提交。由于我已经签出到master分支,我正在进入gitcherry-pick commit-id。但它抛出的错误是
git cherry-pick bb87e7b
error: could not apply bb87e7b... Fourth Commit
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'
我感觉到问题出在哪里了…主分支没有第三次提交,而功能分支有。所以很明显,主分支中会缺少第三次交付的内容。但根据cherry-pick的逻辑,我们应该能够以这样或那样的方式执行此操作。
如果有人知道答案,请详细解释,或者如果你需要任何支持文件来解决这个错误,请在这里回复。我将在这里分享。非常感谢。
嗯。。。它失败并不是因为第三次提交本身缺少。它失败了,因为在提交4时引入的更改(在提交3时(是从与提交2中不同的内容开始的。在这种情况下,git不能仅仅猜测该做什么,这就是你发生冲突的原因。所以,处理好冲突,处理冲突的方式,完成樱桃采摘,你就完了。