2015-08-26 15 views
0

有一个项目,其版本仅通过主分支和标记进行管理。将分支集成到另一个分支的中间

我必须为特定发行版制作修补程序并将其集成到主分支中。

问题:主分支已经包含其他提交,我不想在修补程序中包含此提交。

Current state: (TAG: v3.2.0) | ... ---C1---C2---C3---C4---C5---C6 (master) \ \---C7---C8 (fix_bug_branch) | (TAG: v3.2.1)

Desired state: (TAG: v3.2.0) | ... ---C1---C2---C3---C7---C8---C4---C5---C6 (master) | (TAG: v3.2.1)

是否可以重订或合并这样的场景?怎么样?

+0

请问历史上是线性的?如果没有,您可以继续并将fix_bug_branch合并到master中。尽管最初被标记在不同的分支上,但合并将使得每个标签都是主标签的祖先。 – musiKk

回答

0

如果您还没有发布您的标签,您可以重新绑定fix_bug_branch重新排序提交,然后git tag -f v3.2.1 <newsha1>重写您的标签。

否则,您可以变基到您的第一模式转变为第二位,但你将有一个C8'

+0

你如何在C4'--- C5'--- C6'之前重新脱离C7',C8'? (重写提交不是问题) –

+0

不确定这个问题,但也许答案是'git rebase -i'并重新排序行 – Asenar

相关问题