Git 子分支与其他分支合并

Git sub branch merge with other branch

我已经从 master 创建了一个分支 (Sprint1),并从 Sprint1 分支创建了一个分支 (JIRA1)。我们在 Sprint1 和 JIRA1 分支中做了一些提交。我们认为我们无法完成 JIRA1 的开发,我们需要将 Sprint1 与 master 分支合并。我们想用新的分支 Sprint2 开始开发新的 Sprint2。 处理这种情况的最佳做法是什么?在 sprint2 分支开发后可以合并 JIRA1 吗?

当然,只需将 Sprint1 中的更改合并到 master,然后使用 rebase --onto

JIRA1 分支变基到 Sprint2 分支
git checkout develop
git merge Sprint1
git checkout -b Sprint2
git checkout JIRA1
git rebase --onto Sprint2 Sprint1 JIRA1

这将做的是找出 JIRA1 分支中的变化,因为它从 Sprint1 分支出来,并重播 JIRA1 分支上的变化,就好像它是基于 Sprint2 开始。有道理吗?

Git rebasing reference

正如您在问题中提到的合并,我认为您不想变基。 相反,您可以随时将 JIRA1 合并到 SPRINT2 中,您 want.It 不会有问题,因为(假设您已将 SPRINT1 合并到 SPRINT2 中,或者 SPRINT2 是基于 SPRINT1 创建的)Sprint 1 和 Jira1 的代码库是相同的。

如果您尝试将 sprint 2 合并到 Jira 1 中,则会出现此问题。在这种情况下,您可以对 sprint 2 的特定提交使用 git rebase。