小编SRo*_*uts的帖子

如何git backport(rebase/cherry-pick)已经合并的分支

在我们的Git流程中,"master"是当前发布周期的主题和修复分支的集成分支,但我们还维护一个"稳定"分支,我们必须谨慎地向后移植已经在master上成功测试的一些修复.

所有困难都是分支已经合并回"master"(否则它很容易与rebase --onto)

  • 我们不希望以另一种方式改变过程,因为a)我们不想修复"稳定"分支中的所有内容,以及b)我们有时必须对"稳定"分支进行一些修改我想合并"主".
  • 显然,我们无法将修复程序合并到"稳定"分支中,因为这会向后移植许多不需要的功能.

我描述的初始情况图:

          I--J (stable)
         /
        /
       /
- A - B - C - D - E - F - G  (master) 
              \      /
               X -- Y (fix/123)
Run Code Online (Sandbox Code Playgroud)

我们想要达到的那种情况的图表:

          I--J (stable)
         /    \
        /      X'- Y' (fix/123-stable)
       /
- A - B - C - D - E - F - G  (master) 
              \      /
               X -- Y (fix/123)
Run Code Online (Sandbox Code Playgroud)

更复杂的情况是可能的,例如多次合并以完成修复:

- A - B - C - D - E - F - G - …
Run Code Online (Sandbox Code Playgroud)

git branch rebase cherry-pick

4
推荐指数
1
解决办法
2244
查看次数

标签 统计

branch ×1

cherry-pick ×1

git ×1

rebase ×1