如何将在分支上开发的修复移动到另一个

How to move fixes developed on branch to another

我们目前有一个 release 分支(来自 master),我们正在其上开发功能和错误修复。我们发现我们需要提前发布其中一些修复程序,因此需要从 release 分支中提取它们并将它们放到 master.

最简单的方法是什么

A--B--C master
       \
        D--E--F--G--H--I--J--K release

A--B--C--F--G--J master
       \
        D--E--F--G--H--I--J--K release

?

我可以 cherry-pickreleasemaster 的合并提交,但是当 release 最终合并到 master 时,这会引起头痛吗?

我会:

  1. 从 master 的当前状态创建一个新分支 hotfix。那将指向 C
  2. Cherry-pick 将 F、G 和 J 提交(不是合并请求)到 hotfix
  3. 打开从 hotfixmaster
  4. 的合并请求