Merge Cherry pick commit及其合并commit不解决冲突

Merge Cherry pick commit及其合并commit不解决冲突,merge,git-merge,cherry-pick,git-cherry-pick,Merge,Git Merge,Cherry Pick,Git Cherry Pick,我的情况如下: ├── (c0)── (c1)── (c2合并提交)── (b0)── (b1合并提交) 我想将c0、c1和c2合并为一个提交,并实现以下功能: ├── (挤压:c0、c1、c2合并提交)── (b0)── (b1合并提交) 所以我把我的头抬到c2,然后回到c0,挤压合并到c2(头{1}) 这部分进行得很顺利,我有: ├── (挤压:c0、c1、c2) 现在我需要添加2个提交(b0)和(b1合并提交)。我使用了cherry pick,但在这种情况下,我需要解决b0的冲突。但我不想

我的情况如下:

├── (c0)── (c1)── (c2合并提交)── (b0)── (b1合并提交)

我想将c0、c1和c2合并为一个提交,并实现以下功能:

├── (挤压:c0、c1、c2合并提交)── (b0)── (b1合并提交)

所以我把我的头抬到c2,然后回到c0,挤压合并到c2(头{1})

这部分进行得很顺利,我有:

├── (挤压:c0、c1、c2)

现在我需要添加2个提交(b0)和(b1合并提交)。我使用了cherry pick,但在这种情况下,我需要解决b0的冲突。但我不想再次解决冲突,因为我实际上使用了(b1合并提交)

作为解决办法;我首先将b0和b1压缩为新提交;然后切丽把这个拿过来(压扁了:c0,c1,c2)。但很明显,如果我用这么多合并提交来挤压+10提交,这个解决方案将无法扩展

TLDR:
我想在我的树枝上挂上两个字;其中一个是带有冲突的实际更改(b0),另一个是合并提交,其中实际解决了冲突。当我一个接一个地挑选时,git要求我处理b0的冲突,其中冲突实际上是通过b1上的合并提交解决的。我只能将b0和b1压缩成一个新的提交,然后在我的分支上选择它。

到目前为止,我可以找到两种方法,但没有一种能给出我想要的。但至少我不需要再解决冲突了

第一个,正如前面提到的。 我在另一家分店做了b0和b1的挤压。回到原来的树枝,然后摘下压扁的b0和b1:

├── (squashed : c0, c1, c2)-(squashed: b0, b1)
第二个,直接选择合并提交: 这个更快更简单

$> git cherry-pick -m 1 <hash-b1>
$> git cherry-pick -m 1 <hash-b1>
├── (squashed : c0, c1, c2)-(b1-merge-commit)