为什么在冲突后Github会将基础分支合并到特性分支中?

3
我们在开发过程中使用功能/开发/主分支。当一个功能完成时(我们称之为feature/123),我们会发送合并请求到develop分支。有时这个合并会产生冲突,因此我们使用Github来解决冲突。
我的问题是为什么Github在解决冲突后会将整个develop分支合并到feature/123分支中?我只想将feature分支合并到develop分支中,而不是相反。

你能重构一下吗?也许可以提供详细的步骤或公共仓库?根据你所描述的情况,通常不会出现这种行为(除非有特殊要求)。 - LinFelix
2个回答

2
这是一个相当老的问题,但我自己也遇到了同样的情况,并试图找出原因。我在stackoverflow上找到了另一个关于相同主题的答案,它更深入地探讨了这个问题的含义。你(以及任何可能有相同问题的人)可以在这里找到它:Github解决冲突总是将基本分支合并到我的当前分支

0
我只是在推测,但我认为 GitHub 的想法是希望您在 feature/123 中解决冲突,而不是在 develop 中解决。这就是为什么它会将 develop 合并到 feature/123 中的原因。
供以后参考,以下是 GitHub 记录此行为的地方:
警告:当您在 GitHub Enterprise Server 上解决合并冲突时,整个拉取请求的基本分支将合并到头部分支中。确保您真的想提交到这个分支。如果头部分支是存储库的默认分支,您将被要求创建一个新分支作为您的拉取请求的头分支。如果头部分支受保护,则无法将您的冲突解决方案合并到其中,因此您将被提示创建新的头分支。有关更多信息,请参见“关于受保护的分支”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接