对于 git 方面更有经验的人来说,这可能是一个简单的问题,但我现在为此苦苦挣扎了几个小时。
我有三个分支:Develop、MyBranch & Release。
MyBranch 扩展了 Develop,由于它是一个较长的功能,因此 Develop 又两次 merge 到 MyBranch 中。 Release 是 Develop 的分支,Develop 在 Release 之前(因为我们仍在继续为下一个版本开发功能)。
现在我必须 merge MyBranch 以开发和发布。 merge 到开发没有任何问题,但我不确定 merge 到发布。由于 develop 被 merge 到 MyBranch 两次,我可能不小心 merge 了发布时不需要的更改。我该怎么办?我想:
- 检查新分支 MyBranchRelease
- 将两次 merge 从 Dev 恢复到 MyBranchRelease
- 将 Release merge 到 MyBranchRelease 中解决冲突
- 将 MyBranchRelease merge 到 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,然后在 release 之上对其进行 rebase,同时删除两个 merge 提交。
git checkout MyBranch
git checkout -b MyBranchRelease
git rebase -i release
关于git - merge 开发到发布分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55185356/