更改分支后合并提交

时间:2012-06-27 04:02:55

标签: git

我最初有两个分支:

master A---B---C
                \
fork             D---E---F---H---I

所以我想把我的fork分支合并到F的master,而不合并D和E.所以它变成了:

master A---B---C-------F---H---I
                \
fork             D---E

然后我希望能够将fork重新绑定为master,因此它变为:

master A---B---C-------F---H---I
                                \
fork                             D---E

(不确定字母,或者它应该变成D'和E'并且在C之后保留旧字样)

所以我四处搜索,发现我可以在“I”处分叉,然后硬重置它,但它变得更加复杂:

master A---B---C
                \
fork             D---E
                      \
to-merge               F---H---I

(我现在就在这一点上)

请帮助一个菜鸟分支使它工作。即使我最终得到这样的东西:

master A---B---C-------F---H---I
                \     /         \
fork             D---E           D'--E'

我根本不想将D和E合并到主人身上。

2 个答案:

答案 0 :(得分:1)

如果它只有3次提交,那么将它们挑选到你的主分支中可能是最简单的。

git checkout master
git cherry-pick F
git cherry-pick H
git cherry-pick I

答案 1 :(得分:0)

我想你可能想看樱桃采摘。

只是一个快速的谷歌提起了这一点。看起来很有用(和你需要的一样)。 http://technosophos.com/content/git-cherry-picking-move-small-code-patches-across-branches

首先检查主人。

$ git checkout master

然后每个樱桃选择都是这样的。

$ git cherry-pick F
Finished one cherry-pick.