也许这是一个简单的问题,让git更有经验回答,但我现在正在努力争取几个小时。
我有三个分支:Develop,MyBranch和Release。
MyBranch扩展了Develop,因为它是一个更长的功能,Develop再次合并到MyBranch两次。发布已经分支发展和开发领先于发布(因为我们仍在继续研究下一版本的功能)。
现在我必须将MyBranch合并到Develop和Release。 Merge to Develop没有任何问题,但我不确定合并到Release。由于开发已经两次合并到MyBranch,我偶然会合并在发布时不需要的更改。我该怎么办?我想过:
这有意义吗?希望听到你们的意见
所以你有了:
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