我有一个分支结构如下。3个分支机构。
a - b - c - d *main*
\
e - f *feature1*
\
h *feature2*
我最初开发的是feature1
,然后我开始开发feature2
。feature2
实际上并不依赖于feature1
的代码更改,但我希望能够一起测试它们。计算feature1
将在feature2
之前到达main
。
计划有变。现在feature2
将首先出现。所以我想做的基本上是cherry-pick
提交h
到main。
当我看h
的差异时,它是完美的。h上的变化正是我所希望的。同样,从代码的Angular 来看,feature1
和feature2
并不相互依赖,只是从测试/开发的Angular 来看。
问题是,当我在main
上尝试在提交h
中提交cherry-pick
时,它不仅仅带来了提交h
。Commit e
和f
也在其中。我不认为它们实际上在那里,但是因为行有合并冲突,当我解决这些合并冲突时,e和f在那里。
为什么会这样?我该怎么解决这个问题?有一些要求的分支,你是樱桃采摘/从。
1条答案
按热度按时间uplii1fm1#
您应该能够执行以下操作之一:
feature2
第二种方法可以工作,如果你有更多的不仅仅是
h
,不想做多个樱桃采摘。它会将h'
和feature2上h'之后的任何其他提交放在main
上的d
之上。第一个命令应该将基于
h
的提交h'
选择到d'
之后的main
上,并且应该在提交消息中指出它来自哪里,这对许多人来说很方便。