合并开发人员以发布分支机构

时间:2019-03-15 14:56:50

标签: git branching-and-merging

对于git的较有经验的人来说,也许是一个简单的问题,但是我为此花了几个小时。

我有三个分支:开发,MyBranch和发布。

MyBranch扩展了Develop,并且由于它是一个较长的功能,因此Develop被再次合并到MyBranch中两次。发布是Develop的分支,而Develop则是Release的发布(因为我们仍将继续开发下一个版本的功能)。

现在,我必须合并MyBranch才能进行开发和发布。合并到开发没有任何问题,但是我不确定合并到Release。由于将development两次合并到MyBranch中,因此我可能会偶然合并不需要发布的更改。我该怎么办?我想到了:

  • 签出新的分支MyBranchRelease
  • 将两次合并从Dev恢复为MyBranchRelease
  • 将发行版合并到MyBranchRelease中以解决冲突
  • 将MyBranchRelease合并到发行版中

这有意义吗?希望能听到你们的声音

1 个答案:

答案 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