在我正在从事的项目中,我们有一个master
分支,这是我们的开发分支。在最终确定要发布的版本时,我们以此创建一个release
分支。我们刚搬到GitHub,正在使用PR。合并后,我们也会自动删除分支。此外,我们还启用了分支保护功能,因此合并到受保护分支的唯一方法是通过PR。
我们的release
分支通常有效期为2周。在此期间,我们希望每1-2天将release
合并到master
中,以使其与release
中的更改保持最新。在没有公关和分支机构保护的世界中,我可以做以下事情(假设合并很顺利)。
git checkout master
git pull
git merge origin/release/X.Y.Z
git push
当然,在推送之前,我会构建并测试合并后的内容。
在当前过程中,我无法创建基分支为master
而比较分支为release/X.Y.Z
的PR,因为合并后release/X.Y.Z
将被删除。另外,即使可以,合并也不会在本地机器上进行构建和测试(CI会运行,但显然我也应该在本地进行)。
使用临时分支执行此操作的典型方法是吗?例如
git checkout -b temp --no-track master
git merge origin/release/X.Y.Z
git push --set-upstream origin temp
然后使用base作为master
并比较temp
来创建PR。
谢谢。