如何仅将 PR 中的差异合并到不同的分支?

问题描述

我有一个名为 release/app1/sprint1 的分支,我从中创建了我的本地分支 feature/app1/sprint1/task1,我不断地将更改从 release/app1/sprint1 合并和拉取到我的本地分支以及我自己的提交。有一个名为 release/app2/sprint1 的不同分支。现在我的领导说我作为 feature/app1/sprint1/task1 的一部分添加的任何更改都应该与 release/app2/sprint1 而不是 release/app1/sprint1 合并。是否可以仅将 feature/app1/sprint1/task1release/app1/sprint1 的差异合并到来自 release/app2/sprint1 的新创建的分支?

我想到的一种方法是通过复制粘贴手动添加所有更改到从 release/app2/sprint1 创建的新分支并提出拉取请求。

解决方法

您可以从 diffapply 创建一个补丁文件到新分支

git diff <branch1> <branch2> > diff.patch
git checkout <branch3>
git apply diff.patch

显然,<branch1><branch2><branch3> 是您的特定分支名称。