合并除

时间:2018-05-25 09:42:02

标签: git git-merge

我们正在使用或多或少的git flow作为我们的工作流程。我们接受了一堆提交。我们现在需要将大多数提交从接受发布到主服务器,但是还有一个仍然需要业务方面的接受,我们将不得不等待另一个部署窗口。

提交合并的示例:

12345
54321 <- don't want to merge this just yet
78945
54789

所以我想合并接受 - &gt;掌握,但避免合并54321。

什么是我在这里的最佳选择?还原? Cherry选择了一系列提交?我不喜欢这两种方法,还有别的东西吗?

1 个答案:

答案 0 :(得分:0)

  1. 假设您在接受分支上,请执行交互式rebase并交换最后两次提交。

    git rebase -i HEAD~2
    

    在编辑器中,交换提交12345和54321.结果应如下所示:

    pick 12345 ...
    pick 54321 ...
    

    保存并关闭编辑器。

  2. 将接受分支中的第二个最后一次提交合并为master。

    git checkout master
    git merge acceptance~1
    

    在:

     54789 - 78945 - 54321 - 12345 (acceptance)
      /
    11111 - 22222 (master)
    

    后:

     54789 - 78945 - 12345 - 54321 (acceptance)
      /                \
    11111 - 22222 --- 33333 (master)