3 回答
TA贡献1784条经验 获得超9个赞
樱桃选择的工作方式是,获取变更集表示的差异(该点上的工作树与其父级工作树之间的差异),并将其应用于当前分支。
因此,如果一个提交有两个或多个父项,则它也代表两个或多个差异-应该应用哪个差异?
您正在尝试选择fd9f578,这是两个父母的合并。因此,您需要通过使用该-m选项来告诉cherry-pick命令应针对哪个diff计算差异。例如,git cherry-pick -m 1 fd9f578以父级1为基数。
对于您的具体情况,我不能肯定地说,但通常建议使用git merge代替git cherry-pick。当您选择一个合并提交时,它会将您未指定的对父项所做的所有更改折叠-m到该提交中。您会失去他们的所有历史,并将他们所有的差异混在一起。您的来电。
TA贡献1856条经验 获得超17个赞
-m 表示父母编号。
从git doc:
通常,您无法选择合并,因为您不知道合并的哪一侧应被视为主线。此选项指定主线的父代号(从1开始),并允许cherry-pick重播相对于指定父代的更改。
例如,如果您的提交树如下所示:
- A - D - E - F - master
\ /
B - C branch one
然后git cherry-pick E会产生您遇到的问题。
git cherry-pick E -m 1表示使用D-E,而git cherry-pick E -m 2表示使用B-C-E。
- 3 回答
- 0 关注
- 1934 浏览
添加回答
举报
