合并开发到发布分支

merging develop to release branch

对于 git 中更有经验的人来说,这可能是一个简单的问题,但我现在为此苦苦挣扎了几个小时。

我有三个分支:Develop、MyBranch & Release。

MyBranch 扩展了 Develop,由于它是一个较长的功能,Develop 又两次合并到 MyBranch 中。 Release 是从 Develop 分支出来的,而 Develop 在 Release 之前(因为我们仍在继续为下一个版本开发功能)。

现在我必须合并 MyBranch 以开发和发布。合并到开发没有任何问题,但我不确定合并到发布。由于 develop 被合并到 MyBranch 两次,我可能不小心合并了发布时不需要的更改。我该怎么办?我考虑过:

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

所以你有:

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

Since develop was merged into MyBranch two times, I could by accident merge changes which are not wanted on release.

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

另一种方法是在 MyBranch 所在的位置创建 MyBranchRelease,然后将其重新定位在发布之上,同时删除两个合并提交。

git checkout MyBranch 
git checkout -b MyBranchRelease 
git rebase -i release