在发出拉取请求之前,是不是有任何理由将功能分支合并到分叉主控中?

Posted

技术标签:

【中文标题】在发出拉取请求之前,是不是有任何理由将功能分支合并到分叉主控中?【英文标题】:Is there any reason to merge a feature branch into a forked master before making a pull request?在发出拉取请求之前,是否有任何理由将功能分支合并到分叉主控中? 【发布时间】:2021-07-23 14:31:07 【问题描述】:

我在 GitHub 上处理开源代码。我遵循的唯一工作流程是:

    对于我想要修复错误或添加功能的项目,我分叉存储库 我在本地克隆了我的分叉存储库 我为功能或错误修复创建了一个分支 我在新分支中完成工作并提交 我将带有新提交的本地分支推送到远程分支 最后,我在 GitHub 上点击 create pull request,并请求将我的功能/错误修复分支合并到上游 master 分支中

这没有问题。但是,我想知道,我是否有任何理由想要将我的 fork 的功能或错误修复分支合并到我的 fork 的 master 分支中然后从我的 master 向上游 master 发出拉取请求?在这种情况下,是否有任何其他理由将我的功能或错误修复分支合并到我的 fork 的 master 中?

【问题讨论】:

【参考方案1】:

tl;博士

一般来说,没有理由将您的功能分支合并到您的主分支。那是上游的任务。

更长的故事

我可以想象一些情况,在这些情况下进行合并是有意义的。例如,您可能有理由从早期提交中分叉您的功能分支(如果您修复了错误,您会这样做;然后您可能希望使修复可用于早期版本)。但是随后可能会发生将修复程序合并到现代主分支中变得不简单的情况。例如,可能会出现复杂的合并冲突。然后你想警告集成商冲突的解决必须看起来像“我的叉子中的这个分支”。但是除非上游要求,否则您不会使用合并结果发出拉取请求。

【讨论】:

以上是关于在发出拉取请求之前,是不是有任何理由将功能分支合并到分叉主控中?的主要内容,如果未能解决你的问题,请参考以下文章

拉取请求与合并请求

如何在Azure DevOps中向管道中的远程分支发出拉取请求?

在功能分支上测试时如何使用 Git 拉取请求

如何使用“合并前需要拉取请求审查”来保护分支

还原合并的拉取请求

Azure DevOps 上的拉取请求以强制替换而不是合并