对于git的较有经验的人来说,也许是一个简单的问题,但是我为此花了几个小时。
我有三个分支:开发,MyBranch和发布。
MyBranch扩展了Develop,并且由于它是一个较长的功能,因此Develop被再次合并到MyBranch中两次。发布是Develop的分支,而Develop则是Release的发布(因为我们仍将继续开发下一个版本的功能)。
现在,我必须合并MyBranch才能进行开发和发布。合并到开发没有任何问题,但是我不确定合并到Release。由于将development两次合并到MyBranch中,因此我可能会偶然合并不需要发布的更改。我该怎么办?我想到了:
这有意义吗?希望能听到你们的声音
答案 0 :(得分:2)
所以你有
r--r--r (release)
/
--d--d--d---d--d--d--d--d (Develop)
\ \ \
\ v v
mb--mb----mb--mb--mb--mb--mb
由于将development两次合并到MyBranch中,所以我可能会偶然合并不需要发布的更改。
按照您的描述创建测试分支是一种很好的策略,除了它涉及reverting merges
另一种方法是在MyBranch所在的位置创建MyBranchRelease,然后基于发行版重新构建它,同时删除两个合并提交。
git checkout MyBranch
git checkout -b MyBranchRelease
git rebase -i release