合并发展到发布分支

问题描述 投票:1回答:1

也许这是一个简单的问题,让git更有经验回答,但我现在正在努力争取几个小时。

我有三个分支:Develop,MyBranch和Release。

MyBranch扩展了Develop,因为它是一个更长的功能,Develop再次合并到MyBranch两次。发布已经分支发展和开发领先于发布(因为我们仍在继续研究下一版本的功能)。

现在我必须将MyBranch合并到Develop和Release。 Merge to Develop没有任何问题,但我不确定合并到Release。由于开发已经两次合并到MyBranch,我偶然会合并在发布时不需要的更改。我该怎么办?我想过:

  • 结帐新分支MyBranch版本
  • 将两个合并从Dev恢复为MyBranchRelease
  • 将Release合并到MyBranchRelease以解决冲突
  • 将MyBranchRelease合并到Release中

这有意义吗?希望听到你们的意见

git branching-and-merging
1个回答
2
投票

所以你有了:

          r--r--r (release)
         /
--d--d--d---d--d--d--d--d (Develop)
         \   \     \
          \   v     v
          mb--mb----mb--mb--mb--mb--mb

由于开发被两次合并到MyBranch,我偶然会合并在发布时不需要的更改。

如你所描述的那样创建一个测试分支是一个很好的策略,除了它涉及reverting merges

另一种方法是在MyBranch创建MyBranchRelease,然后在发布之前重新绑定它,同时删除两个合并提交。

git checkout MyBranch 
git checkout -b MyBranchRelease 
git rebase -i release
© www.soinside.com 2019 - 2024. All rights reserved.