创建从同一分支到多个分支的拉取请求

时间:2020-05-13 21:35:31

标签: git

我们有一个dev分支和一个master分支。有了修复程序后,我们从hotfix-1检出新分支,说master并向master分支提出拉取请求。我们还希望仅将此提交更改合并到dev分支中。因此,我们也想创建一个从hotfix-1dev分支的拉取请求。

但是,我们无法从同一分支创建到dev的拉取请求,因为它在前面,并且会发生合并冲突,如果我们用开发更改来更新hotfix-1,它将反映主提交。对此有什么解决方案?我们是否需要创建hotfix-dev-1来挑选这些最新的提交更改并创建对dev的提取请求?任何帮助将不胜感激。

如果我们在support之间添加了新分支,是否需要创建hotfix-2?当引入更多的长期分支时,这种分支模型会扩展吗?

1 个答案:

答案 0 :(得分:0)

我们是否需要创建hotfix-dev-1 cherry-pick这些最新的提交更改并创建对dev的提取请求?

如果更改请求如何进入您的两个分支(例如我认为是GitHub),总之,是的。拉取请求是合并分支上的更改,从分支从目标分支派生的基础开始。

至少在创建拉取请求的远程分支中有效。在本地,假设您要在master中的dev上进行一次提交。您可以切换到dev:

git checkout dev

也许请确保您与远程仓库处于相同的状态:

git pull

主人的樱桃HEAD

git cherry-pick master

现在您可以将其推送到远程存储库中的新分支中:

git push origin HEAD:refs/heads/hotfix-dev-1

您可以从该分支针对dev创建PR,并且可以在本地将dev重置为其原始状态:

git reset --hard origin/dev

与仅创建要推送的分支(如果需要,然后将其修剪)相比,它实际上并没有提供太多优势。