同一分支的多个拉取请求

10

假设我有三个分支:masterreleasemyfeature。是否可以从myfeature创建两个拉取请求,分别到masterrelease,而无需创建另一个分支?

为什么要这样做?

假设 master 是当前的最新版本,而 release 是一年前的版本。当修复了一个 bug 并创建了一个拉取请求以针对 release 时,现在也需要将此修复合并到 master 中,这时使用 cherry pick 是完美的解决方案,但据我所知,这将需要一个新的分支。我只希望能够使用相同的原始修复分支来合并到两个分支中(只要 master 仍然兼容)。

2个回答

3
你可能需要更多地思考你的分支以及为什么需要它们。
在你的分支之间创建拉取请求是没有任何限制的。我认为你创建拉取请求是为了让人们讨论这些变化。我的问题是“在这两种情况下,对话会有什么不同?”
对我来说,感觉你可能想要使用拉取请求来进行交流,因为你从myfeature合并到master的变化,但一旦发生了那个交流后,在master合并到release时就不需要再次进行交流了...只是一个简单的合并。
我想知道你是否应该在release的位置使用标签而不是分支。你还可以查看以下资源,以定义如何使用git来管理此类事物: GitHub关于拉取请求的文档 Altasian关于git工作流程的观点 关于git-flow的原始文章

1
git-flow将解决这个问题。我的功能缺陷修复分支应该从发布中分支出来,通过修复与发布合并,然后将主分支与主分支合并,以解决可能存在的冲突。 - Alessio Gaeta

1
很可能,主分支会从发布分支演变而来,这将迫使您为它们都拥有不同的实现/修复。因此,挑选精华是在这里最广泛推荐的方法。
如果不是像你的情况一样,
  1. 首先合并发布分支的PR
  2. 将其rebase到主分支并创建另一个pull请求

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