我们有一个dev
分支和一个master
分支。有了修复程序后,我们从hotfix-1
检出新分支,说master
并向master
分支提出拉取请求。我们还希望仅将此提交更改合并到dev
分支中。因此,我们也想创建一个从hotfix-1
到dev
分支的拉取请求。
但是,我们无法从同一分支创建到dev
的拉取请求,因为它在前面,并且会发生合并冲突,如果我们用开发更改来更新hotfix-1
,它将反映主提交。对此有什么解决方案?我们是否需要创建hotfix-dev-1
来挑选这些最新的提交更改并创建对dev
的提取请求?任何帮助将不胜感激。
如果我们在support
之间添加了新分支,是否需要创建hotfix-2
?当引入更多的长期分支时,这种分支模型会扩展吗?
答案 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
与仅创建要推送的分支(如果需要,然后将其修剪)相比,它实际上并没有提供太多优势。