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
开始。有道理吗?
正如您在问题中提到的合并,我认为您不想变基。
相反,您可以随时将 JIRA1 合并到 SPRINT2 中,您 want.It 不会有问题,因为(假设您已将 SPRINT1 合并到 SPRINT2 中,或者 SPRINT2 是基于 SPRINT1 创建的)Sprint 1 和 Jira1 的代码库是相同的。
如果您尝试将 sprint 2 合并到 Jira 1 中,则会出现此问题。在这种情况下,您可以对 sprint 2 的特定提交使用 git rebase。
我已经从 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
开始。有道理吗?
正如您在问题中提到的合并,我认为您不想变基。 相反,您可以随时将 JIRA1 合并到 SPRINT2 中,您 want.It 不会有问题,因为(假设您已将 SPRINT1 合并到 SPRINT2 中,或者 SPRINT2 是基于 SPRINT1 创建的)Sprint 1 和 Jira1 的代码库是相同的。
如果您尝试将 sprint 2 合并到 Jira 1 中,则会出现此问题。在这种情况下,您可以对 sprint 2 的特定提交使用 git rebase。