【发布时间】:2022-11-03 20:30:59
【问题描述】:
我有不同的功能分支和一个主要分支:-
main
feature1
feature2
feature3
feature2 和 feature3 分支落后于 master 几个提交。在该 feature1 分支之前位于主分支之前。
首先 feature3 需要合并,然后是 feature2。
我想以一种不会丢失内容的方式合并所有功能分支,而且需要添加新内容。最后,所有功能分支的数据都应该在主分支中。
我很困惑,我应该首先将 feature1 分支合并为它在主分支之前,还是首先将 feature3 和 feature2 合并到 feature1 分支中,并从 feature1 分支创建一个拉取请求。我可以使用哪些命令来完成此操作?
所有功能 1、2、3 中的文件都已修改,因此我面临合并冲突错误。
我做了什么:-首先我从主分支创建了一个虚拟分支。将 feature3 分支的更改合并到虚拟分支中。现在,当我尝试将 feature2 分支合并到虚拟分支中时,我遇到了合并冲突错误。
有人可以在这里指导我吗?
【问题讨论】:
-
如果它们是真的彼此独立,您可以按任意顺序合并它们至少来自 git 的 POV, git 不在乎。您可能还有其他考虑因素,这些因素与 VCS 不严格相关......比如我将首先合并 feature1,因为然后我可以将这些更改拉入 feature2,这样我就可以测试相关的 feature2 的一部分......但不依赖.
-
除了@eftshift0 所说的之外,您还可以将这些与“章鱼合并”结合起来,这可以证明三个分支中没有一个与其他分支有任何冲突。但是章鱼合并有点棘手,并且不做任何常规合并不做的事情(实际上,上面的“证明”是因为常规合并比章鱼合并可以做更多)。
-
这回答了你的问题了吗? Merging multiple branches with git
-
为了测试,我首先创建了一个示例分支并合并了 feature3,然后当我为功能 2 创建合并到示例分支的拉取请求时,我收到了这个错误 Conflict: This file was modified on source and destination.
标签: git github gitlab git-merge-conflict