合并开发到发布分支
merging develop to release branch
对于 git 中更有经验的人来说,这可能是一个简单的问题,但我现在为此苦苦挣扎了几个小时。
我有三个分支:Develop、MyBranch & Release。
MyBranch 扩展了 Develop,由于它是一个较长的功能,Develop 又两次合并到 MyBranch 中。 Release 是从 Develop 分支出来的,而 Develop 在 Release 之前(因为我们仍在继续为下一个版本开发功能)。
现在我必须合并 MyBranch 以开发和发布。合并到开发没有任何问题,但我不确定合并到发布。由于 develop 被合并到 MyBranch 两次,我可能不小心合并了发布时不需要的更改。我该怎么办?我考虑过:
- 签出新分支 MyBranchRelease
- 将两个合并从 Dev 恢复到 MyBranchRelease
- 合并Release到MyBranchRelease解决冲突
- 将 MyBranchRelease 合并到 Release
这有意义吗?希望听到你们的消息
所以你有:
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
对于 git 中更有经验的人来说,这可能是一个简单的问题,但我现在为此苦苦挣扎了几个小时。
我有三个分支:Develop、MyBranch & Release。
MyBranch 扩展了 Develop,由于它是一个较长的功能,Develop 又两次合并到 MyBranch 中。 Release 是从 Develop 分支出来的,而 Develop 在 Release 之前(因为我们仍在继续为下一个版本开发功能)。
现在我必须合并 MyBranch 以开发和发布。合并到开发没有任何问题,但我不确定合并到发布。由于 develop 被合并到 MyBranch 两次,我可能不小心合并了发布时不需要的更改。我该怎么办?我考虑过:
- 签出新分支 MyBranchRelease
- 将两个合并从 Dev 恢复到 MyBranchRelease
- 合并Release到MyBranchRelease解决冲突
- 将 MyBranchRelease 合并到 Release
这有意义吗?希望听到你们的消息
所以你有:
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