场景介绍

当在一个分支上开发了A功能、B功能、C功能,这时候只需要发布A、B功能,C功能继续开发。这个时候我们需要将A、B功能的代码单独提取出来完成测试后合并到发布分支(master)上时,我们可以使用遴选操作来达成目的。

使用如下

借助git管理工具sourcetree完成操作

说明: 如下图所示,adjustMedia基于release分支,实现了A功能,release分支有包含了C功能,所以不能直接将adjustMedia分支合并到发布分支上,我们只需要将adjustMedia上A功能的提交记录提取出来合并到发布分支上即可,具体操作如下

  1. 从与发布分支master同步的develop分支上新建一条分支, 这里命名为newAdjustMedia
  2. 切换到newAdjustMedia分支,确保遴选过程中都处于当前分支
  3. 将需要提取的提交记录选中(可以逐个也可以多个合并),这里不需要提取合并分支记录,只需要提取修改或添加了代码的记录
  4. 鼠标点击右键选择遴选(这里执行了一个git cherry-pick commitId…操作)
  5. 遴选后记录将会同步到newAdjustMedia分支
  6. 若提示冲突,合并冲突即可

    image.png