假设我使用git cherry-pick
在我的分支中选择一些提交。在那之后,让我们说我将我的分支重新绑定到我的父分支上以获取最新信息。 git还会在内部记住这些提交已被挑选出来吗?这很重要,因为当我将我的分支合并回我从中挑选的父分支时,我不希望这些提交变成愚蠢的冲突。
我的例子一步一步:
B
A
B
和A
。A
B
提取到分支git cherry-pick A
B
(A
已签出)将git rebase A
重新投放到B
上git cherry
时会发生什么?它会显示我所选择的提交(这意味着它不再记得提交是樱桃挑选的)吗?如果在rebase之后结束了cherry-pick关系,rebase中的-p
选项会修复它吗?或者是否有其他解决方案可以避免它?
答案 0 :(得分:1)
在琐碎的情况下不会显示冲突 - 选择的更改不受重新定义的更改影响(同一行范围内没有变化)。
在所有其他情况下都会发生冲突。
找出,将会发生什么的唯一方法是尝试这样做(在一个单独的分支中)。
以下是book解释:
如果上游分支已包含您所做的更改(例如, 因为你邮寄了一个上游应用的补丁,然后那个 提交将被跳过。例如,在上运行git rebase master 以下历史(其中A'和A引入相同的一组 更改,但有不同的提交者信息):
A---B---C topic / D---E---A'---F master
将导致:
B'---C' topic / D---E---A'---F master