在一个分支上拉取请求,该分支合并了 cherry picked 提交

Pull request on a branch which got cherry picked commits merged

我在 BranchA 中启动了一项功能开发,但我在其中包含了一些 'clean up' 和 'tweaking' 提交。

在过程的中间 'tweaking' 提交需要合并到 master 中(通过拉取请求)所以我创建了一个 BranchB 和一些新的提交并挑选了一些在 BranchA 中完成的提交.
BranchB 被合并,没有冲突。

我的问题是:如何处理 BranchA 拉取请求?
即使它的一些提交已经合并,提交 BranchA 是否安全?如果没有,如何度过这种情况?

在 B 上重新设置分支 A:只有未精心挑选的提交应该在那里。

 B--B--B--B--A'--A'--A' (A)
           \
         m--M--m--m (master)  

然后在 master 之上对 A 进行变基:

git rebase --onto master B A

这将变基 B HEAD 之后的所有提交,直到 A HEAD(包括在内)。

 B--B--B--B (B)
           \
         m--M--m--m (master)  
                   \
                    A''--A''--A'' (A)

从那里,您可以提出拉取请求。