git 合并后变基到不同的分支

git rebase onto different branch after already merged

我正在为 Visual Studio 使用 git 适配器。这个问题是关于在它已经被合并到一个分支之后变基到一个不同的分支。

我们有一个功能分支(我是唯一使用它的开发人员)。不久前它被合并到我们的 Develop 分支,以及它前后的一堆其他功能分支。客户决定推迟发布我们Develop分支上的大部分工作,并自行发布feature分支上的内容。

我想做的是将功能分支重新定位到我们之前的发布分支上,并从那里创建一个新的发布分支。那行得通吗? 特性分支比之前的发布分支有更新的代码。但我假设 rebase 不会在意,它只会将我所做的更改 rebase 到旧的发布分支上? 我假设 Develop 分支不会受到影响?(这很好,因为我们必须合并新的发布分支以进行开发,然后再将其放入发布版中。)

最终 Release 11 的工作将合并到 Develop 分支,并将用于 Release 12。

这是使用功能分支的原因之一。

假设您的功能分支由 5 个提交组成。您可以像这样将它移动到任何地方:

git rebase --onto new-base feature-branch~5 feature-branch

假设您的功能分支没有合并并且是一条直线。

现在,您的工作流程更清晰一些:

git checkout -b release11 release 10
git rebase --onto release11 feature-branch~5 feature-branch

这会将功能分支从当前位置移开....您可以考虑签出并分离工作。

git checkout --detach feature-branch
git rebase --onto release11 HEAD~5 HEAD

应该可以