我正在向项目提交两个独立的新功能作为拉取请求。每个功能都在一个主题分支中,每个分支都从 master 的尖端分支。
/-- feature1
master ---
\-- feature2
问题是,虽然任何一个分支都可以自己干净地合并到 master 中,但当第二个分支合并时,它会产生冲突。这并不是因为这些特性相互依赖,它们只是碰巧接触了相同的代码。
一个简单的例子:如果原始文件是一个逗号分隔的列表,并且每次提交都想向其中添加一个新项目,它可能看起来像这样:
master:
a,
b,
c
feature1:
- c
+ c,
+ d
feature2:
- c
+ c,
+ e
归根结底,如果两个拉取请求都被接受,则 d 和 e 最终都应该以任意顺序添加到列表中(因为这些功能是完全独立的,所以它们不相互依赖)。但是,如果您尝试将它们都拉进来,则会发生冲突。
处理这个问题的最佳方法是什么?feature2 是否应该基于 feature1 的末尾,然后它们应该以正确的顺序合并到 master 中?
master ---
\--- feature1
\------ feature2
如果我这样做了,对 feature2 的拉取请求会只显示 feature2 提交,还是会显示所有 feature1+feature2 提交?
或者我应该在 feature1 合并到 master 之后重新调整 feature2 ?