Git rebase从祖先变为主人

时间:2013-06-12 14:30:14

标签: git git-merge git-rebase

所以我得到了以下情况:我们为我们的版本进行了分支,并且正在为主人添加持续的增强功能。

A---B---C---Q---W---E---R---T  master
     \         /
      D---E---F Release 1
               \
                G---H---I Release Fixes

“版本1”的F更改将合并回“master”。有没有办法将'发布修复'重新定位/重播回'master'?


修改

为了提供更多信息,我做了一系列提交的樱桃选择,并且一些检查过的文件似乎不是正确的版本。如果建议合并,是否可以在两次提交之间进行合并?

1 个答案:

答案 0 :(得分:1)

是的,rebase命令是:

git rebase --onto master F I      #<realse1>..<release-fixes>

这不会删除F中的G,H和I提交,并在T上创建G',H'和I'。如果你想将G,H和I留在原位,那你就做了:

git checkout master
git cherry-pick G H I    # <release1>..<release-fixes>

[edit]或者,正如+ kirelagin指出的那样,只需进行合并即可将它们留在原位。